@tstdl/base 0.78.0-beta55 → 0.78.0-beta56

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 (91) hide show
  1. package/api/server/gateway.js +6 -4
  2. package/api/server/gateway.js.map +1 -1
  3. package/data-structures/index-out-of-bounds.error.d.ts +1 -1
  4. package/data-structures/index-out-of-bounds.error.js +2 -2
  5. package/data-structures/index-out-of-bounds.error.js.map +1 -1
  6. package/data-structures/sorted-array-list.js +2 -2
  7. package/data-structures/sorted-array-list.js.map +1 -1
  8. package/database/mongo/mongo-base.repository.js +3 -3
  9. package/database/mongo/mongo-base.repository.js.map +1 -1
  10. package/environment.d.ts +10 -0
  11. package/environment.js +26 -0
  12. package/environment.js.map +1 -0
  13. package/error/custom.error.d.ts +5 -1
  14. package/error/custom.error.js +5 -2
  15. package/error/custom.error.js.map +1 -1
  16. package/json-path/json-path.d.ts +6 -5
  17. package/json-path/json-path.js +7 -0
  18. package/json-path/json-path.js.map +1 -1
  19. package/openid-connect/oidc.service.js +5 -4
  20. package/openid-connect/oidc.service.js.map +1 -1
  21. package/package.json +1 -1
  22. package/pool/pool.d.ts +6 -1
  23. package/pool/pool.js +4 -1
  24. package/pool/pool.js.map +1 -1
  25. package/require.d.ts +1 -0
  26. package/require.js +9 -0
  27. package/require.js.map +1 -0
  28. package/rpc/endpoints/message-port.rpc-endpoint.d.ts +21 -0
  29. package/rpc/endpoints/message-port.rpc-endpoint.js +18 -0
  30. package/rpc/endpoints/message-port.rpc-endpoint.js.map +1 -0
  31. package/rpc/index.d.ts +4 -0
  32. package/rpc/index.js +21 -0
  33. package/rpc/index.js.map +1 -0
  34. package/rpc/model.d.ts +72 -0
  35. package/rpc/model.js +13 -0
  36. package/rpc/model.js.map +1 -0
  37. package/rpc/rpc-endpoint.d.ts +9 -0
  38. package/rpc/rpc-endpoint.js +23 -0
  39. package/rpc/rpc-endpoint.js.map +1 -0
  40. package/rpc/rpc-error.d.ts +8 -0
  41. package/rpc/rpc-error.js +26 -0
  42. package/rpc/rpc-error.js.map +1 -0
  43. package/rpc/rpc.d.ts +19 -0
  44. package/rpc/rpc.js +256 -0
  45. package/rpc/rpc.js.map +1 -0
  46. package/schema/coercers/string.coercer.d.ts +1 -1
  47. package/search-index/elastic/search-index.js +4 -3
  48. package/search-index/elastic/search-index.js.map +1 -1
  49. package/search-index/error.d.ts +1 -1
  50. package/search-index/error.js +2 -2
  51. package/search-index/error.js.map +1 -1
  52. package/serializer/handlers/register.d.ts +2 -2
  53. package/serializer/handlers/register.js +4 -1
  54. package/serializer/handlers/register.js.map +1 -1
  55. package/serializer/serializable.d.ts +9 -6
  56. package/serializer/serializable.js +13 -4
  57. package/serializer/serializable.js.map +1 -1
  58. package/serializer/serializer.js +18 -5
  59. package/serializer/serializer.js.map +1 -1
  60. package/serializer/types.d.ts +21 -6
  61. package/serializer/types.js +2 -1
  62. package/serializer/types.js.map +1 -1
  63. package/threading/index.d.ts +1 -0
  64. package/threading/index.js +1 -0
  65. package/threading/index.js.map +1 -1
  66. package/threading/thread-pool.d.ts +18 -3
  67. package/threading/thread-pool.js +42 -2
  68. package/threading/thread-pool.js.map +1 -1
  69. package/threading/thread-worker.d.ts +3 -0
  70. package/threading/thread-worker.js +9 -0
  71. package/threading/thread-worker.js.map +1 -0
  72. package/utils/alphabet.d.ts +3 -1
  73. package/utils/alphabet.js +2 -0
  74. package/utils/alphabet.js.map +1 -1
  75. package/utils/encoding.js +2 -2
  76. package/utils/encoding.js.map +1 -1
  77. package/utils/image.js +2 -2
  78. package/utils/image.js.map +1 -1
  79. package/utils/object/dereference.d.ts +7 -5
  80. package/utils/object/dereference.js +4 -4
  81. package/utils/object/dereference.js.map +1 -1
  82. package/utils/stream/stream-reader.js +6 -5
  83. package/utils/stream/stream-reader.js.map +1 -1
  84. package/utils/type-guards.d.ts +2 -2
  85. package/utils/type-guards.js.map +1 -1
  86. package/threading/message-proxy.d.ts +0 -66
  87. package/threading/message-proxy.js +0 -34
  88. package/threading/message-proxy.js.map +0 -1
  89. package/threading/thread.d.ts +0 -16
  90. package/threading/thread.js +0 -30
  91. package/threading/thread.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import type { AbstractConstructor, Type } from "../types";
1
+ import type { AbstractConstructor, Record, Type, TypedOmit } from "../types";
2
2
  export declare const Serializable: {
3
3
  readonly serialize: unique symbol;
4
4
  readonly deserialize: unique symbol;
@@ -6,25 +6,28 @@ export declare const Serializable: {
6
6
  export declare type DereferenceCallback = (dereferenced: unknown) => void;
7
7
  export declare type TryDereference = (value: unknown, callback: DereferenceCallback) => boolean;
8
8
  export interface Serializable<T, Data> {
9
- [Serializable.serialize](instance: T): Data;
10
- [Serializable.deserialize](data: Data, tryDereference: TryDereference): T;
9
+ [Serializable.serialize](instance: T, context: Record): Data;
10
+ [Serializable.deserialize](data: Data, tryDereference: TryDereference, context: Record): T;
11
11
  }
12
12
  export declare type SerializableType<T, Data> = Type<Serializable<T, Data>>;
13
13
  export declare type SerializeFunction<T, Data> = Serializable<T, Data>[typeof Serializable.serialize];
14
14
  export declare type DeserializeFunction<T, Data> = Serializable<T, Data>[typeof Serializable.deserialize];
15
- declare type SerializableRegistration<T, Data> = {
15
+ declare type SerializableRegistration<T = any, Data = any> = {
16
16
  type: string;
17
+ serializeData?: boolean;
17
18
  constructor: AbstractConstructor<T>;
18
19
  serializer: SerializeFunction<T, Data>;
19
20
  deserializer: DeserializeFunction<T, Data>;
20
21
  };
21
22
  export declare function getTypeNameByConstructor(constructor: AbstractConstructor): string | undefined;
22
- export declare function getSerializerByTypeName(typeName: string): SerializableRegistration<any, any> | undefined;
23
+ export declare function getSerializerByTypeName(typeName: string): SerializableRegistration | undefined;
24
+ export declare function registerRawSerializable(constructor: AbstractConstructor): void;
25
+ export declare function isRawSerializable(constructor: AbstractConstructor): boolean;
23
26
  export declare function serializable<T extends Serializable<any, Data>, Data>(typeName?: string): (target: SerializableType<T, Data>) => void;
24
27
  /**
25
28
  * register a serializable type for serialization
26
29
  * @param type class implementing {@link Serializable}
27
30
  */
28
31
  export declare function registerSerializable<T extends Serializable<any, Data>, Data>(type: SerializableType<T, Data>, typeName?: string): void;
29
- export declare function registerSerializer<T, Data>(constructor: AbstractConstructor<T>, typeName: string, serializer: SerializeFunction<T, Data>, deserializer: DeserializeFunction<T, Data>): void;
32
+ export declare function registerSerializer<T, Data>(constructor: AbstractConstructor<T>, typeName: string, serializer: SerializeFunction<T, Data>, deserializer: DeserializeFunction<T, Data>, options?: TypedOmit<SerializableRegistration, 'constructor' | 'deserializer' | 'serializer' | 'type'>): void;
30
33
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerSerializer = exports.registerSerializable = exports.serializable = exports.getSerializerByTypeName = exports.getTypeNameByConstructor = exports.Serializable = void 0;
3
+ exports.registerSerializer = exports.registerSerializable = exports.serializable = exports.isRawSerializable = exports.registerRawSerializable = exports.getSerializerByTypeName = exports.getTypeNameByConstructor = exports.Serializable = void 0;
4
4
  const type_guards_1 = require("../utils/type-guards");
5
5
  const handlers_1 = require("./handlers");
6
6
  // eslint-disable-next-line @typescript-eslint/naming-convention
@@ -10,6 +10,7 @@ exports.Serializable = {
10
10
  };
11
11
  const constructorTypeNameMap = new Map();
12
12
  const typeNameSerializerMap = new Map();
13
+ const rawSet = new Set();
13
14
  function getTypeNameByConstructor(constructor) {
14
15
  return constructorTypeNameMap.get(constructor);
15
16
  }
@@ -18,6 +19,14 @@ function getSerializerByTypeName(typeName) {
18
19
  return typeNameSerializerMap.get(typeName);
19
20
  }
20
21
  exports.getSerializerByTypeName = getSerializerByTypeName;
22
+ function registerRawSerializable(constructor) {
23
+ rawSet.add(constructor);
24
+ }
25
+ exports.registerRawSerializable = registerRawSerializable;
26
+ function isRawSerializable(constructor) {
27
+ return rawSet.has(constructor);
28
+ }
29
+ exports.isRawSerializable = isRawSerializable;
21
30
  function serializable(typeName) {
22
31
  function serializableDecorator(type) {
23
32
  registerSerializable(type, typeName);
@@ -37,17 +46,17 @@ function registerSerializable(type, typeName) {
37
46
  registerSerializer(type, typeName ?? type.name, serializer, deserializer);
38
47
  }
39
48
  exports.registerSerializable = registerSerializable;
40
- function registerSerializer(constructor, typeName, serializer, deserializer) {
49
+ function registerSerializer(constructor, typeName, serializer, deserializer, options) {
41
50
  const existingMappedType = constructorTypeNameMap.get(constructor);
42
51
  const existingMappedSerializer = typeNameSerializerMap.get(typeName);
43
52
  if ((0, type_guards_1.isDefined)(existingMappedType) || (0, type_guards_1.isDefined)(existingMappedSerializer)) {
44
53
  const ctor = existingMappedSerializer?.constructor ?? constructor;
45
54
  throw new Error(`serializer for constructor ${ctor.name} is already registered as ${existingMappedType ?? typeName}`);
46
55
  }
47
- const registration = { type: typeName, constructor, serializer, deserializer };
56
+ const registration = { ...options, type: typeName, constructor, serializer, deserializer };
48
57
  constructorTypeNameMap.set(constructor, typeName);
49
58
  typeNameSerializerMap.set(typeName, registration);
50
59
  }
51
60
  exports.registerSerializer = registerSerializer;
52
- (0, handlers_1.registerDefaultSerializers)(registerSerializer);
61
+ (0, handlers_1.registerDefaultSerializers)(registerSerializer, registerRawSerializable);
53
62
  //# sourceMappingURL=serializable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializable.js","sourceRoot":"","sources":["../../source/serializer/serializable.ts"],"names":[],"mappings":";;;AACA,sDAA4D;AAC5D,yCAAwD;AAExD,gEAAgE;AACnD,QAAA,YAAY,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;CAInC,CAAC;AAwBF,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAA+B,CAAC;AACtE,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAA8C,CAAC;AAEpF,SAAgB,wBAAwB,CAAC,WAAgC;IACvE,OAAO,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACjD,CAAC;AAFD,4DAEC;AAED,SAAgB,uBAAuB,CAAC,QAAgB;IACtD,OAAO,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAFD,0DAEC;AAED,SAAgB,YAAY,CAA0C,QAAiB;IACrF,SAAS,qBAAqB,CAAC,IAA+B;QAC5D,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAND,oCAMC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAA0C,IAA+B,EAAE,QAAiB;IAC9H,MAAM,EAAE,CAAC,oBAAY,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,oBAAY,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,GAAI,IAAI,CAAC,SAAe,CAAC;IAEjH,IAAI,CAAC,IAAA,wBAAU,EAAC,UAAU,CAAC,IAAI,CAAC,IAAA,wBAAU,EAAC,YAAY,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAC;KACzH;IAED,kBAAkB,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAC5E,CAAC;AARD,oDAQC;AAED,SAAgB,kBAAkB,CAAU,WAAmC,EAAE,QAAgB,EAAE,UAAsC,EAAE,YAA0C;IACnL,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACnE,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAErE,IAAI,IAAA,uBAAS,EAAC,kBAAkB,CAAC,IAAI,IAAA,uBAAS,EAAC,wBAAwB,CAAC,EAAE;QACxE,MAAM,IAAI,GAAG,wBAAwB,EAAE,WAAW,IAAI,WAAW,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,IAAI,6BAA6B,kBAAkB,IAAI,QAAQ,EAAE,CAAC,CAAC;KACvH;IAED,MAAM,YAAY,GAAsC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IAElH,sBAAsB,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAClD,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC;AAbD,gDAaC;AAED,IAAA,qCAA0B,EAAC,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"serializable.js","sourceRoot":"","sources":["../../source/serializer/serializable.ts"],"names":[],"mappings":";;;AACA,sDAA4D;AAC5D,yCAAwD;AAExD,gEAAgE;AACnD,QAAA,YAAY,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;CAInC,CAAC;AAyBF,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAA+B,CAAC;AACtE,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAoC,CAAC;AAC1E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE9C,SAAgB,wBAAwB,CAAC,WAAgC;IACvE,OAAO,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACjD,CAAC;AAFD,4DAEC;AAED,SAAgB,uBAAuB,CAAC,QAAgB;IACtD,OAAO,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAFD,0DAEC;AAED,SAAgB,uBAAuB,CAAC,WAAgC;IACtE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1B,CAAC;AAFD,0DAEC;AAED,SAAgB,iBAAiB,CAAC,WAAgC;IAChE,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC;AAFD,8CAEC;AAED,SAAgB,YAAY,CAA0C,QAAiB;IACrF,SAAS,qBAAqB,CAAC,IAA+B;QAC5D,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAND,oCAMC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAA0C,IAA+B,EAAE,QAAiB;IAC9H,MAAM,EAAE,CAAC,oBAAY,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,oBAAY,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,GAAI,IAAI,CAAC,SAAe,CAAC;IAEjH,IAAI,CAAC,IAAA,wBAAU,EAAC,UAAU,CAAC,IAAI,CAAC,IAAA,wBAAU,EAAC,YAAY,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAC;KACzH;IAED,kBAAkB,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAC5E,CAAC;AARD,oDAQC;AAED,SAAgB,kBAAkB,CAAU,WAAmC,EAAE,QAAgB,EAAE,UAAsC,EAAE,YAA0C,EAAE,OAAqG;IAC1R,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACnE,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAErE,IAAI,IAAA,uBAAS,EAAC,kBAAkB,CAAC,IAAI,IAAA,uBAAS,EAAC,wBAAwB,CAAC,EAAE;QACxE,MAAM,IAAI,GAAG,wBAAwB,EAAE,WAAW,IAAI,WAAW,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,IAAI,6BAA6B,kBAAkB,IAAI,QAAQ,EAAE,CAAC,CAAC;KACvH;IAED,MAAM,YAAY,GAAsC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IAE9H,sBAAsB,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAClD,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC;AAbD,gDAaC;AAED,IAAA,qCAA0B,EAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC"}
@@ -20,7 +20,13 @@ function stringDeserialize(serialized, options) {
20
20
  return deserialize(parsedStringSerialized, options);
21
21
  }
22
22
  exports.stringDeserialize = stringDeserialize;
23
- function serialize(value, options = {}, references = new Map(), queue = new circular_buffer_1.CircularBuffer(), path = '$') {
23
+ function serialize(_value, options = {}, references = new Map(), queue = new circular_buffer_1.CircularBuffer(), path = '$') {
24
+ let value = _value;
25
+ if ((0, type_guards_1.isDefined)(options.replacers)) {
26
+ for (const replacer of options.replacers) {
27
+ value = replacer(value);
28
+ }
29
+ }
24
30
  const type = typeof value;
25
31
  if (type == 'boolean' || type == 'number' || value === null) {
26
32
  return value;
@@ -34,7 +40,7 @@ function serialize(value, options = {}, references = new Map(), queue = new circ
34
40
  }
35
41
  }
36
42
  const reference = references.get(value);
37
- if (reference !== undefined) {
43
+ if ((0, type_guards_1.isDefined)(reference)) {
38
44
  return { '<ref>': reference };
39
45
  }
40
46
  if (type == 'string') {
@@ -83,6 +89,10 @@ function serialize(value, options = {}, references = new Map(), queue = new circ
83
89
  queue.addMany(queueItems);
84
90
  result = target;
85
91
  }
92
+ else if ((0, serializable_1.isRawSerializable)(constructor) || ((0, type_guards_1.isDefined)(options.raws) && options.raws.includes(constructor))) {
93
+ references.set(value, path);
94
+ return { '<raw>': value };
95
+ }
86
96
  else {
87
97
  const serializableType = (0, serializable_1.getTypeNameByConstructor)(constructor);
88
98
  if ((0, type_guards_1.isUndefined)(serializableType)) {
@@ -92,8 +102,8 @@ function serialize(value, options = {}, references = new Map(), queue = new circ
92
102
  const typeString = getTypeString(serializableType);
93
103
  const nonPrimitive = { [typeString]: null };
94
104
  queue.add(() => {
95
- const data = registration.serializer.call(value, value);
96
- return (nonPrimitive[typeString] = serialize(data, options, references, queue, `${path}['${typeString}']`));
105
+ const data = registration.serializer.call(value, value, options.data ?? {});
106
+ (nonPrimitive[typeString] = (registration.serializeData != false) ? serialize(data, options, references, queue, `${path}['${typeString}']`) : data);
97
107
  });
98
108
  result = nonPrimitive;
99
109
  }
@@ -157,6 +167,9 @@ function _deserialize(serialized, context, path, depth) {
157
167
  context.references.set(path, fn);
158
168
  return fn;
159
169
  }
170
+ case types_1.rawNonPrimitiveType: {
171
+ return nonPrimitiveData;
172
+ }
160
173
  case types_1.refNonPrimitiveType: {
161
174
  const dereferenced = context.references.get(nonPrimitiveData);
162
175
  if (dereferenced == undefined) {
@@ -174,7 +187,7 @@ function _deserialize(serialized, context, path, depth) {
174
187
  context.addToDeserializeQueue(() => {
175
188
  const deserializedData = _deserialize(nonPrimitiveData, context, `${path}['<${nonPrimitiveType}>']`, depth + 1);
176
189
  context.addToDeserializeQueue(() => {
177
- const deserialized = registration.deserializer(deserializedData, context.tryAddToDerefQueue);
190
+ const deserialized = registration.deserializer(deserializedData, context.tryAddToDerefQueue, context.options.data ?? {});
178
191
  forward_ref_1.ForwardRef.setRef(forwardRef, deserialized);
179
192
  }, depth);
180
193
  }, depth);
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../source/serializer/serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../source/serializer/serializer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
- import type { JsonPrimitive, Nested, StringMap } from "../types";
1
+ import type { AbstractConstructor, JsonPrimitive, Nested, Record, StringMap } from "../types";
2
2
  declare const serializedSymbol: unique symbol;
3
3
  declare const stringSerializedSymbol: unique symbol;
4
4
  declare const decycledSymbol: unique symbol;
5
+ export declare type SerializationReplacer = (value: any) => any;
5
6
  export declare type TypeField<T extends string> = `<${T}>`;
6
7
  export declare type NonPrimitive<TypeName extends string = string, Data = unknown> = Record<TypeField<TypeName>, Data>;
8
+ export declare type RawNonPrimitive = NonPrimitive<typeof rawNonPrimitiveType, any>;
7
9
  export declare type UndefinedNonPrimitive = NonPrimitive<typeof undefinedNonPrimitiveType, null>;
8
10
  export declare type BigintNonPrimitive = NonPrimitive<typeof bigintNonPrimitiveType, string>;
9
11
  export declare type GlobalSymbolNonPrimitive = NonPrimitive<typeof globalSymbolNonPrimitiveType, string>;
@@ -24,24 +26,37 @@ export declare type SerializationOptions = {
24
26
  /**
25
27
  * !!! DANGEROUS !!!
26
28
  *
27
- * enable de/serialization of stuff like functions
29
+ * Enable de/serialization of stuff like functions
28
30
  *
29
- * remote code execution possible, source must be trusted!
31
+ * Remote code execution possible, source must be trusted!
30
32
  * @default false
31
33
  */
32
34
  allowUnsafe?: boolean;
33
35
  /**
34
- * context for references. Can be used to reduce serialized size, if data is available at deserialization and to be able to reference abitrary data which is not serializable like non-global symbols
36
+ * Every replacer is called with every value and the value is replaced with its return value.
37
+ */
38
+ replacers?: SerializationReplacer[];
39
+ /**
40
+ * Constructors to not serialze (keep raw)
41
+ */
42
+ raws?: AbstractConstructor[];
43
+ /**
44
+ * Context for references. Can be used to reduce serialized size, if data is available at deserialization and to be able to reference abitrary data which is not serializable like non-global symbols
35
45
  *
36
- * only first level of object is referenced. For example for `{ foo: { bar: 'baz' } }` there will be one context entry having { bar: 'baz' }
46
+ * Only first level of object is referenced. For example for `{ foo: { bar: 'baz' } }` there will be one context entry having { bar: 'baz' }
37
47
  */
38
48
  context?: StringMap<object | Function | string | symbol | bigint>;
39
49
  /**
40
- * disables dereferencing of ForwardRefs. Only useful for debugging (when implementing custom serializers) and curiosity
50
+ * Disables dereferencing of ForwardRefs. Only useful for debugging (when implementing custom serializers) and curiosity
41
51
  * @default false
42
52
  */
43
53
  doNotDereferenceForwardRefs?: boolean;
54
+ /**
55
+ * Data to be used on de/serialization handlers
56
+ */
57
+ data?: Record;
44
58
  };
59
+ export declare const rawNonPrimitiveType = "raw";
45
60
  export declare const undefinedNonPrimitiveType = "undefined";
46
61
  export declare const bigintNonPrimitiveType = "bigint";
47
62
  export declare const globalSymbolNonPrimitiveType = "global-symbol";
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.refNonPrimitiveType = exports.functionNonPrimitiveType = exports.globalSymbolNonPrimitiveType = exports.bigintNonPrimitiveType = exports.undefinedNonPrimitiveType = void 0;
3
+ exports.refNonPrimitiveType = exports.functionNonPrimitiveType = exports.globalSymbolNonPrimitiveType = exports.bigintNonPrimitiveType = exports.undefinedNonPrimitiveType = exports.rawNonPrimitiveType = void 0;
4
+ exports.rawNonPrimitiveType = 'raw';
4
5
  exports.undefinedNonPrimitiveType = 'undefined';
5
6
  exports.bigintNonPrimitiveType = 'bigint';
6
7
  exports.globalSymbolNonPrimitiveType = 'global-symbol';
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/serializer/types.ts"],"names":[],"mappings":";;;AA4Ca,QAAA,yBAAyB,GAAG,WAAW,CAAC;AACxC,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,4BAA4B,GAAG,eAAe,CAAC;AAC/C,QAAA,wBAAwB,GAAG,UAAU,CAAC;AACtC,QAAA,mBAAmB,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/serializer/types.ts"],"names":[],"mappings":";;;AA8Da,QAAA,mBAAmB,GAAG,KAAK,CAAC;AAC5B,QAAA,yBAAyB,GAAG,WAAW,CAAC;AACxC,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,4BAA4B,GAAG,eAAe,CAAC;AAC/C,QAAA,wBAAwB,GAAG,UAAU,CAAC;AACtC,QAAA,mBAAmB,GAAG,KAAK,CAAC"}
@@ -1 +1,2 @@
1
1
  export * from './thread-pool';
2
+ export * from './thread-worker';
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./thread-pool"), exports);
18
+ __exportStar(require("./thread-worker"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/threading/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/threading/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,kDAAgC"}
@@ -1,4 +1,19 @@
1
- export declare class ThreadPool {
2
- readonly threadCount: number;
3
- constructor(threadCount: number);
1
+ /// <reference types="node" />
2
+ import type { AsyncDisposable } from "../disposable";
3
+ import { disposeAsync } from "../disposable";
4
+ import type * as NodeWorkerThreads from 'worker_threads';
5
+ import type { ThreadWorker } from './thread-worker';
6
+ export declare type ThreadOptions = (WorkerOptions | NodeWorkerThreads.WorkerOptions) & {
7
+ threadCount?: number;
8
+ };
9
+ export declare class ThreadPool implements AsyncDisposable {
10
+ private readonly pool;
11
+ readonly url: string | URL;
12
+ readonly options: ThreadOptions | undefined;
13
+ constructor(url: string | URL, options?: ThreadOptions);
14
+ dispose(): Promise<void>;
15
+ [disposeAsync](): Promise<void>;
16
+ getProcessor<T extends ThreadWorker>(name?: string): (...args: Parameters<T>) => Promise<ReturnType<T>>;
17
+ process<T extends ThreadWorker>(name: string, ...args: Parameters<T>): Promise<ReturnType<T>>;
18
+ private spawn;
4
19
  }
@@ -1,9 +1,49 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ThreadPool = void 0;
4
+ const disposable_1 = require("../disposable");
5
+ const environment_1 = require("../environment");
6
+ const pool_1 = require("../pool");
7
+ const require_1 = require("../require");
8
+ const rpc_1 = require("../rpc");
9
+ let spawnWorker;
10
+ if (environment_1.isNode) {
11
+ const { Worker: NodeWorker } = (0, require_1.dynamicRequire)('worker_threads');
12
+ spawnWorker = (url, options) => new NodeWorker(url, options);
13
+ }
14
+ else {
15
+ spawnWorker = (url, options) => new Worker(url, options);
16
+ }
4
17
  class ThreadPool {
5
- constructor(threadCount) {
6
- this.threadCount = threadCount;
18
+ constructor(url, options) {
19
+ this.url = url;
20
+ this.options = options;
21
+ this.pool = new pool_1.Pool(() => this.spawn(), ({ worker }) => worker.terminate(), { size: options?.threadCount, disposeOnError: false });
22
+ }
23
+ async dispose() {
24
+ return this[disposable_1.disposeAsync]();
25
+ }
26
+ async [disposable_1.disposeAsync]() {
27
+ await this.pool.dispose();
28
+ }
29
+ getProcessor(name = 'default') {
30
+ const processor = async (...args) => this.process(name, ...args);
31
+ return processor;
32
+ }
33
+ async process(name, ...args) {
34
+ return this.pool.use(async (entry) => {
35
+ const hasRemote = entry.remotes.has(name);
36
+ const remote = hasRemote ? entry.remotes.get(name) : await rpc_1.Rpc.connect(entry.worker, `thread-worker:${name}`);
37
+ if (!hasRemote) {
38
+ entry.remotes.set(name, remote);
39
+ }
40
+ return remote(...args);
41
+ });
42
+ }
43
+ spawn() {
44
+ const worker = spawnWorker(this.url, this.options);
45
+ const remotes = new Map();
46
+ return { worker, remotes };
7
47
  }
8
48
  }
9
49
  exports.ThreadPool = ThreadPool;
@@ -1 +1 @@
1
- {"version":3,"file":"thread-pool.js","sourceRoot":"","sources":["../../source/threading/thread-pool.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAU;IAGrB,YAAY,WAAmB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF;AAND,gCAMC"}
1
+ {"version":3,"file":"thread-pool.js","sourceRoot":"","sources":["../../source/threading/thread-pool.ts"],"names":[],"mappings":";;;AACA,8CAA4C;AAC5C,gDAAuC;AACvC,kCAA8B;AAC9B,wCAA2C;AAE3C,gCAA4B;AAe5B,IAAI,WAAkE,CAAC;AAEvE,IAAI,oBAAM,EAAE;IACV,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,wBAAc,EAA2B,gBAAgB,CAAC,CAAC;IAC1F,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,OAA0C,CAAC,CAAC;CACjG;KACI;IACH,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,OAAwB,CAAC,CAAC;CAC3E;AAED,MAAa,UAAU;IAMrB,YAAY,GAAiB,EAAE,OAAuB;QACpD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IACtI,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,yBAAY,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,CAAC,yBAAY,CAAC;QAClB,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,YAAY,CAAyB,OAAe,SAAS;QAC3D,MAAM,SAAS,GAAG,KAAK,EAAE,GAAG,IAAmB,EAA0B,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QACxG,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,OAAO,CAAyB,IAAY,EAAE,GAAG,IAAmB;QACxE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACnC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE1C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,MAAM,SAAG,CAAC,OAAO,CAAI,KAAK,CAAC,MAAM,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;YAElH,IAAI,CAAC,SAAS,EAAE;gBACd,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACjC;YAED,OAAO,MAAM,CAAC,GAAG,IAAI,CAA2B,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK;QACX,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QAE1B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;CACF;AA9CD,gCA8CC"}
@@ -0,0 +1,3 @@
1
+ import type { RpcEndpointSource } from "../rpc";
2
+ export declare type ThreadWorker = (...args: any[]) => any | Promise<any>;
3
+ export declare function exposeThreadWorker<T extends ThreadWorker>(worker: T, endpointOrSource: RpcEndpointSource, name?: string): void;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exposeThreadWorker = void 0;
4
+ const rpc_1 = require("../rpc");
5
+ function exposeThreadWorker(worker, endpointOrSource, name = 'default') {
6
+ rpc_1.Rpc.expose(worker, endpointOrSource, `thread-worker:${name}`);
7
+ }
8
+ exports.exposeThreadWorker = exposeThreadWorker;
9
+ //# sourceMappingURL=thread-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-worker.js","sourceRoot":"","sources":["../../source/threading/thread-worker.ts"],"names":[],"mappings":";;;AACA,gCAA4B;AAI5B,SAAgB,kBAAkB,CAAyB,MAAS,EAAE,gBAAmC,EAAE,OAAe,SAAS;IACjI,SAAG,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;AAChE,CAAC;AAFD,gDAEC"}
@@ -6,5 +6,7 @@ export declare enum Alphabet {
6
6
  LowerCaseNumbers = "abcdefghijklmnopqrstuvwxyz0123456789",
7
7
  UpperCaseNumbers = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",
8
8
  LowerUpperCaseNumbers = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",
9
- ZBase32 = "ybndrfg8ejkmcpqxot1uwisza345h769"
9
+ ZBase32 = "ybndrfg8ejkmcpqxot1uwisza345h769",
10
+ LowerCaseHex = "0123456789abcdef",
11
+ UpperCaseHex = "0123456789ABCDEF"
10
12
  }
package/utils/alphabet.js CHANGED
@@ -11,5 +11,7 @@ var Alphabet;
11
11
  Alphabet["UpperCaseNumbers"] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
12
12
  Alphabet["LowerUpperCaseNumbers"] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
13
13
  Alphabet["ZBase32"] = "ybndrfg8ejkmcpqxot1uwisza345h769";
14
+ Alphabet["LowerCaseHex"] = "0123456789abcdef";
15
+ Alphabet["UpperCaseHex"] = "0123456789ABCDEF";
14
16
  })(Alphabet = exports.Alphabet || (exports.Alphabet = {}));
15
17
  //# sourceMappingURL=alphabet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alphabet.js","sourceRoot":"","sources":["../../source/utils/alphabet.ts"],"names":[],"mappings":";;;AAAA,IAAY,QASX;AATD,WAAY,QAAQ;IAClB,oDAAwC,CAAA;IACxC,oDAAwC,CAAA;IACxC,kCAAsB,CAAA;IACtB,mFAAuE,CAAA;IACvE,qEAAyD,CAAA;IACzD,qEAAyD,CAAA;IACzD,oGAAwF,CAAA;IACxF,wDAA4C,CAAA;AAC9C,CAAC,EATW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QASnB"}
1
+ {"version":3,"file":"alphabet.js","sourceRoot":"","sources":["../../source/utils/alphabet.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAWX;AAXD,WAAY,QAAQ;IAClB,oDAAwC,CAAA;IACxC,oDAAwC,CAAA;IACxC,kCAAsB,CAAA;IACtB,mFAAuE,CAAA;IACvE,qEAAyD,CAAA;IACzD,qEAAyD,CAAA;IACzD,oGAAwF,CAAA;IACxF,wDAA4C,CAAA;IAC5C,6CAAiC,CAAA;IACjC,6CAAiC,CAAA;AACnC,CAAC,EAXW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAWnB"}
package/utils/encoding.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.decodeHex = exports.encodeHex = exports.decodeText = exports.encodeUtf8 = void 0;
4
- const error_1 = require("../error");
4
+ const assertion_error_1 = require("../error/assertion.error");
5
5
  const array_1 = require("./array/array");
6
6
  const binary_1 = require("./binary");
7
7
  const type_guards_1 = require("./type-guards");
@@ -54,7 +54,7 @@ function decodeHex(hex) {
54
54
  const hexPart = hex.substring(i, i + 2);
55
55
  const byte = hexToByte.get(hexPart);
56
56
  if ((0, type_guards_1.isUndefined)(byte)) {
57
- throw new error_1.AssertionError(`invalid hex string at position ${i}`);
57
+ throw new assertion_error_1.AssertionError(`invalid hex string at position ${i}`);
58
58
  }
59
59
  bytes[i / 2] = byte;
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../source/utils/encoding.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAEzC,yCAA4C;AAC5C,qCAAwC;AACxC,+CAA4C;AAE5C,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACpG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAEvE;;;;GAIG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAHD,gCAGC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,MAAmB,EAAE,QAAiB;IAC/D,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAHD,gCAGC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,MAAkB;IAC1C,MAAM,KAAK,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,4DAA4D;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;KAChC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,8BAUC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACtC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAI,IAAA,yBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,MAAM,IAAI,sBAAc,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC;SACjE;QAED,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;KACrB;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAfD,8BAeC"}
1
+ {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../source/utils/encoding.ts"],"names":[],"mappings":";;;AAAA,8DAAyD;AAEzD,yCAA4C;AAC5C,qCAAwC;AACxC,+CAA4C;AAE5C,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACpG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAEvE;;;;GAIG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAHD,gCAGC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,MAAmB,EAAE,QAAiB;IAC/D,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAHD,gCAGC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,MAAkB;IAC1C,MAAM,KAAK,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,4DAA4D;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;KAChC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,8BAUC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACtC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAI,IAAA,yBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,MAAM,IAAI,gCAAc,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC;SACjE;QAED,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;KACrB;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAfD,8BAeC"}
package/utils/image.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.compressImage = exports.canEncodeImageFormat = exports.canDecodeImage = exports.canDecodeAvif = exports.canDecodeWebp = void 0;
4
- const error_1 = require("../error");
4
+ const assertion_error_1 = require("../error/assertion.error");
5
5
  const compat_1 = require("../rxjs/compat");
6
6
  const rxjs_1 = require("rxjs");
7
7
  const factory_map_1 = require("./factory-map");
@@ -66,7 +66,7 @@ async function compressImage(sourceImage, width, height, mimeType, quality) {
66
66
  context.drawImage(image, 0, 0, targetWidth, targetHeight);
67
67
  const resultBlob = await new Promise((resolve, reject) => canvas.toBlob((blob) => {
68
68
  if ((0, type_guards_1.isNull)(blob)) {
69
- reject(new error_1.AssertionError('could not render image'));
69
+ reject(new assertion_error_1.AssertionError('could not render image'));
70
70
  return;
71
71
  }
72
72
  resolve(blob);
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../source/utils/image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../source/utils/image.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
+ import type { JsonPathInput } from "../../json-path";
2
+ export declare type CompiledDereferencer = (object: object) => unknown;
1
3
  /**
2
4
  * compiles a dereferencer for a specific reference
3
5
  * @param object object to dereference
4
- * @param reference path to property in dot notation or JSONPath ({@link decodeJsonPath})
6
+ * @param reference path to property in dot notation or {@link JsonPath}
5
7
  * @returns referenced value
6
8
  */
7
- export declare function compileDereferencer(reference: string): (object: object) => unknown;
9
+ export declare function compileDereferencer(reference: JsonPathInput): (object: object) => unknown;
8
10
  /**
9
11
  * dereference a reference
10
12
  *
@@ -12,10 +14,10 @@ export declare function compileDereferencer(reference: string): (object: object)
12
14
  *
13
15
  * also take a look at {@link getCachedDereference} and {@link compileDereferencer} if you need to dereference multiple times
14
16
  * @param object object to dereference
15
- * @param reference path to property in dot notation or JSONPath ({@link decodeJsonPath})
17
+ * @param reference path to property in dot notation or {@link JsonPath}
16
18
  * @returns referenced value
17
19
  */
18
- export declare function dereference(object: object, reference: string): unknown;
20
+ export declare function dereference(object: object, reference: JsonPathInput): unknown;
19
21
  /**
20
22
  * cached version of {@link dereference}. It caches the internally used dereferencer, but it does *not* cache the referenced value
21
23
  *
@@ -24,7 +26,7 @@ export declare function dereference(object: object, reference: string): unknown;
24
26
  *
25
27
  * also take a look at {@link dereference} and {@link compileDereferencer} for other use cases
26
28
  * @param object object to dereference
27
- * @param reference path to property in dot notation or JSONPath ({@link decodeJsonPath})
29
+ * @param reference path to property in dot notation or {@link JsonPath}
28
30
  * @returns referenced value
29
31
  */
30
32
  export declare function getCachedDereference(): typeof dereference;
@@ -6,11 +6,11 @@ const memoize_1 = require("../function/memoize");
6
6
  /**
7
7
  * compiles a dereferencer for a specific reference
8
8
  * @param object object to dereference
9
- * @param reference path to property in dot notation or JSONPath ({@link decodeJsonPath})
9
+ * @param reference path to property in dot notation or {@link JsonPath}
10
10
  * @returns referenced value
11
11
  */
12
12
  function compileDereferencer(reference) {
13
- const nodes = (0, json_path_1.decodeJsonPath)(reference);
13
+ const nodes = new json_path_1.JsonPath(reference).nodes;
14
14
  function dereferencer(object) {
15
15
  let target = object;
16
16
  for (let i = 0; i < nodes.length; i++) { // eslint-disable-line @typescript-eslint/prefer-for-of
@@ -28,7 +28,7 @@ exports.compileDereferencer = compileDereferencer;
28
28
  *
29
29
  * also take a look at {@link getCachedDereference} and {@link compileDereferencer} if you need to dereference multiple times
30
30
  * @param object object to dereference
31
- * @param reference path to property in dot notation or JSONPath ({@link decodeJsonPath})
31
+ * @param reference path to property in dot notation or {@link JsonPath}
32
32
  * @returns referenced value
33
33
  */
34
34
  function dereference(object, reference) {
@@ -43,7 +43,7 @@ exports.dereference = dereference;
43
43
  *
44
44
  * also take a look at {@link dereference} and {@link compileDereferencer} for other use cases
45
45
  * @param object object to dereference
46
- * @param reference path to property in dot notation or JSONPath ({@link decodeJsonPath})
46
+ * @param reference path to property in dot notation or {@link JsonPath}
47
47
  * @returns referenced value
48
48
  */
49
49
  function getCachedDereference() {
@@ -1 +1 @@
1
- {"version":3,"file":"dereference.js","sourceRoot":"","sources":["../../../source/utils/object/dereference.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAE7C,iDAAoD;AAEpD;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,SAAiB;IACnD,MAAM,KAAK,GAAG,IAAA,0BAAc,EAAC,SAAS,CAAC,CAAC;IAExC,SAAS,YAAY,CAAC,MAAc;QAClC,IAAI,MAAM,GAAG,MAAM,CAAC;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,uDAAuD;YAC9F,MAAM,GAAI,MAAiB,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;SACxC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAdD,kDAcC;AAED;;;;;;;;;GASG;AACH,SAAgB,WAAW,CAAC,MAAc,EAAE,SAAiB;IAC3D,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAFD,kCAEC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,oBAAoB;IAClC,MAAM,oBAAoB,GAAG,IAAA,uBAAa,EAAC,mBAAmB,CAAC,CAAC;IAEhE,SAAS,iBAAiB,CAAC,MAAc,EAAE,SAAiB;QAC1D,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AARD,oDAQC"}
1
+ {"version":3,"file":"dereference.js","sourceRoot":"","sources":["../../../source/utils/object/dereference.ts"],"names":[],"mappings":";;;AACA,+CAAuC;AAEvC,iDAAoD;AAIpD;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,SAAwB;IAC1D,MAAM,KAAK,GAAG,IAAI,oBAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;IAE5C,SAAS,YAAY,CAAC,MAAc;QAClC,IAAI,MAAM,GAAG,MAAM,CAAC;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,uDAAuD;YAC9F,MAAM,GAAI,MAAiB,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;SACxC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAdD,kDAcC;AAED;;;;;;;;;GASG;AACH,SAAgB,WAAW,CAAC,MAAc,EAAE,SAAwB;IAClE,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAFD,kCAEC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,oBAAoB;IAClC,MAAM,oBAAoB,GAAG,IAAA,uBAAa,EAAC,mBAAmB,CAAC,CAAC;IAEhE,SAAS,iBAAiB,CAAC,MAAc,EAAE,SAAwB;QACjE,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AARD,oDAQC"}