@open-charging-cloud/chargy-core 0.14.2 → 0.14.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.
package/dist/index.d.ts CHANGED
@@ -27,7 +27,7 @@ export * from "./interfaces/chargyInterfaces";
27
27
  export * from "./interfaces/IChargeTransparencyRecord";
28
28
  export * from "./interfaces/IPublicKeyInfo";
29
29
  export { IsAURL, IsValidURL, URLContext, type IURL, type URLResolver } from "./interfaces/IURL";
30
- export { ChargeTransparencyLiveLinkContext, IsAChargeTransparencyLiveLink, type IChargeTransparencyLiveLink, type ITransport, type ITransportURL, type TOTPConfig, type Transport, type TransportHTTPS, type TransportHTTPSSE, type TransportWebsocket } from "./interfaces/IChargeTransparencyLiveLink";
30
+ export { ChargeTransparencyLiveLinkContext, defaultRefreshSeconds, IsAChargeTransparencyLiveLink, isCustomHeaderValue, isCustomHeaderValueProvider, isCustomHeaders, type CustomHeaderValue, type CustomHeaders, type IChargeTransparencyLiveLink, type ICustomHeaderValueProvider, type ITransport, type ITransportURL, type TOTPConfig, type Transport, type TransportHTTPS, type TransportHTTPSSE, type TransportWebsocket } from "./interfaces/IChargeTransparencyLiveLink";
31
31
  export { collectDocumentPublicKeys, verifyDocumentSignatures, type DocumentSignatureStatus, type DocumentSignaturesStatus, type IDocumentPublicKey, type IDocumentSignatureResult, type IDocumentSignaturesResult } from "./DocumentSignatures";
32
32
  export * as ChargyInterfaces from "./interfaces/chargyInterfaces";
33
33
  export * as ChargeTransparencyLiveLink from "./interfaces/IChargeTransparencyLiveLink";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACH,MAAM,EACN,UAAU,EACV,UAAU,EACV,KAAK,IAAI,EACT,KAAK,WAAW,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,iCAAiC,EACjC,6BAA6B,EAC7B,KAAK,2BAA2B,EAChC,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAC1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACH,yBAAyB,EACzB,wBAAwB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EACjC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,0BAA0B,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,wBAAwB,MAAM,wCAAwC,CAAC;AACnF,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACH,MAAM,EACN,UAAU,EACV,UAAU,EACV,KAAK,IAAI,EACT,KAAK,WAAW,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,iCAAiC,EACjC,qBAAqB,EACrB,6BAA6B,EAC7B,mBAAmB,EACnB,2BAA2B,EAC3B,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAC1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACH,yBAAyB,EACzB,wBAAwB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EACjC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,0BAA0B,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,wBAAwB,MAAM,wCAAwC,CAAC;AACnF,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC"}
@@ -2,7 +2,19 @@ import type * as chargyInterfaces from './chargyInterfaces';
2
2
  import * as chargyLib from './chargyLib';
3
3
  import type { IDocumentSignaturesResult } from '../DocumentSignatures';
4
4
  export declare const ChargeTransparencyLiveLinkContext = "https://open.charging.cloud/contexts/chargeTransparency/live/link/1.0";
5
+ /**
6
+ * How often an https transport is asked again when it does not say, in
7
+ * seconds. A charging session that is still running changes every few seconds,
8
+ * so "it did not say" means "the usual period", not "never ask again".
9
+ *
10
+ * A client is expected to clamp what a document states rather than obey it -
11
+ * this default is what it uses when there is nothing to clamp.
12
+ */
13
+ export declare const defaultRefreshSeconds = 10;
5
14
  export declare function isConnector(data: unknown): data is IConnector;
15
+ export declare function isCustomHeaderValueProvider(data: unknown): data is ICustomHeaderValueProvider;
16
+ export declare function isCustomHeaderValue(data: unknown): data is CustomHeaderValue;
17
+ export declare function isCustomHeaders(data: unknown): data is CustomHeaders;
6
18
  export declare function isTransport(data: unknown): data is Transport;
7
19
  export declare function IsAChargeTransparencyLiveLink(data: unknown): data is IChargeTransparencyLiveLink;
8
20
  export interface IChargeTransparencyLiveLink extends chargyLib.JSONObject {
@@ -50,6 +62,19 @@ export interface ITransport {
50
62
  url?: string;
51
63
  urls?: Array<ITransportURL | string>;
52
64
  totp?: TOTPConfig;
65
+ /**
66
+ * Additional HTTP headers to send with every request to this transport,
67
+ * e.g. an API key or a tenant selector its endpoint expects.
68
+ *
69
+ * Every transport can carry them: an https poll, the opening request of a
70
+ * server-sent event stream, and the handshake of a websocket are all HTTP
71
+ * requests, and all three can face an endpoint that expects a header.
72
+ *
73
+ * They belong to the transport that states them and to no other: a header
74
+ * meant for the operator's polling endpoint has no business being sent to
75
+ * some other transport's URLs.
76
+ */
77
+ customHeaders?: CustomHeaders;
53
78
  }
54
79
  export interface TransportHTTPS extends ITransport {
55
80
  type: "https";
@@ -58,8 +83,11 @@ export interface TransportHTTPS extends ITransport {
58
83
  *
59
84
  * This belongs to https alone: a websocket or a server-sent event stream
60
85
  * delivers a new document when there is one, and if either ever needs a
61
- * period of its own it will mean something else than asking again. Absent
62
- * means: do not poll.
86
+ * period of its own it will mean something else than asking again.
87
+ *
88
+ * Absent means defaultRefreshSeconds - an https transport is there to be
89
+ * asked, and a document that names one without saying how often still
90
+ * wants its readers to see what the session does next.
63
91
  */
64
92
  refresh?: number;
65
93
  }
@@ -79,4 +107,32 @@ export interface TOTPConfig {
79
107
  initialSharedSecret: string;
80
108
  timeStep: number;
81
109
  }
110
+ /**
111
+ * The custom HTTP headers of a transport, by header name.
112
+ *
113
+ * The names are the header names as they are to be sent; HTTP compares them
114
+ * case-insensitively, so a document that names one header twice in different
115
+ * spellings names one header - which one wins is the sending client's rule,
116
+ * not this format's.
117
+ */
118
+ export type CustomHeaders = Record<string, CustomHeaderValue>;
119
+ /**
120
+ * What a custom header carries: either the literal string to send, or a
121
+ * provider that computes the value per request - a one-time password, say,
122
+ * which would be stale the moment it was written into a document.
123
+ */
124
+ export type CustomHeaderValue = string | ICustomHeaderValueProvider;
125
+ /**
126
+ * A value computed per request rather than stated.
127
+ *
128
+ * Version 1.0 defines the shape, not the providers: what "TOTP" means, and
129
+ * what its parameters are called, needs an external profile or agreement, the
130
+ * same way the TOTP configuration does. ChargyCore validates the shape and
131
+ * computes no values - a client that does not know a provider sends no header
132
+ * for it rather than sending the description of one.
133
+ */
134
+ export interface ICustomHeaderValueProvider {
135
+ valueProvider: string;
136
+ parameters?: chargyLib.JSONObject;
137
+ }
82
138
  //# sourceMappingURL=IChargeTransparencyLiveLink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IChargeTransparencyLiveLink.d.ts","sourceRoot":"","sources":["../../src/interfaces/IChargeTransparencyLiveLink.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,gBAAgB,MAAa,oBAAoB,CAAA;AAClE,OAAO,KAAK,SAAS,MAAyB,aAAa,CAAA;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AAGtE,eAAO,MAAM,iCAAiC,0EAA0E,CAAC;AAGzH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,UAAU,CAM7D;AAiBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,SAAS,CA2B5D;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,2BAA2B,CAWhG;AAQD,MAAM,WAAW,2BAA4B,SAAQ,SAAS,CAAC,UAAU;IAErE,UAAU,EAAE,OAAO,iCAAiC,CAAC;IAErD,kCAAkC;IAClC,OAAO,CAAC,EAAQ,MAAM,GAAC,IAAI,CAAC;IAE5B,iCAAiC;IACjC,WAAW,CAAC,EAAI,SAAS,CAAC,UAAU,CAAC;IAErC,6BAA6B;IAC7B,SAAS,CAAC,EAAM,MAAM,EAAE,CAAC;IAEzB,kDAAkD;IAClD,WAAW,CAAC,EAAI,gBAAgB,CAAC,YAAY,CAAC;IAE9C,+BAA+B;IAC/B,SAAS,CAAC,EAAM,UAAU,CAAC;IAE3B,gDAAgD;IAChD,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAE7B,yDAAyD;IACzD,UAAU,CAAC,EAAK,gBAAgB,CAAC,UAAU,EAAE,CAAC;IAE9C;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAElD;;;OAGG;IACH,QAAQ,CAAC,EAAO,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;CAEpD;AAED,4BAA4B;AAC5B,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,EAAc,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAgB,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAa,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAc,MAAM,CAAC;CACjC;AAID,sDAAsD;AACtD,MAAM,MAAM,SAAS,GACjB,cAAc,GACd,gBAAgB,GAChB,kBAAkB,CAAC;AAGvB,MAAM,WAAW,UAAU;IACvB,GAAG,CAAC,EAAG,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,GAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,cAAmB,SAAQ,UAAU;IAClD,IAAI,EAAE,OAAO,CAAC;IAEd;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAmB,SAAQ,UAAU;IAClD,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IAClD,IAAI,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAoB,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAc,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAgB,MAAM,CAAC;CACjC;AAED,iDAAiD;AACjD,MAAM,WAAW,UAAU;IACvB,mBAAmB,EAAI,MAAM,CAAC;IAC9B,QAAQ,EAAe,MAAM,CAAC;CACjC"}
1
+ {"version":3,"file":"IChargeTransparencyLiveLink.d.ts","sourceRoot":"","sources":["../../src/interfaces/IChargeTransparencyLiveLink.ts"],"names":[],"mappings":"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"}
@@ -10260,10 +10260,15 @@ var IChargeTransparencyLiveLink_exports = {};
10260
10260
  __export(IChargeTransparencyLiveLink_exports, {
10261
10261
  ChargeTransparencyLiveLinkContext: () => ChargeTransparencyLiveLinkContext,
10262
10262
  IsAChargeTransparencyLiveLink: () => IsAChargeTransparencyLiveLink,
10263
+ defaultRefreshSeconds: () => defaultRefreshSeconds,
10263
10264
  isConnector: () => isConnector,
10265
+ isCustomHeaderValue: () => isCustomHeaderValue,
10266
+ isCustomHeaderValueProvider: () => isCustomHeaderValueProvider,
10267
+ isCustomHeaders: () => isCustomHeaders,
10264
10268
  isTransport: () => isTransport
10265
10269
  });
10266
10270
  var ChargeTransparencyLiveLinkContext = "https://open.charging.cloud/contexts/chargeTransparency/live/link/1.0";
10271
+ var defaultRefreshSeconds = 10;
10267
10272
  function isConnector(data) {
10268
10273
  if (!isObject(data))
10269
10274
  return false;
@@ -10274,6 +10279,15 @@ function isTransportURL(data) {
10274
10279
  return data.trim() !== "";
10275
10280
  return isObject(data) && typeof data["url"] === "string" && (data["priority"] === void 0 || typeof data["priority"] === "number") && (data["weight"] === void 0 || typeof data["weight"] === "number");
10276
10281
  }
10282
+ function isCustomHeaderValueProvider(data) {
10283
+ return isMandatoryJSONObject(data) && typeof data["valueProvider"] === "string" && (data["parameters"] === void 0 || isMandatoryJSONObject(data["parameters"]));
10284
+ }
10285
+ function isCustomHeaderValue(data) {
10286
+ return typeof data === "string" || isCustomHeaderValueProvider(data);
10287
+ }
10288
+ function isCustomHeaders(data) {
10289
+ return isMandatoryJSONObject(data) && Object.values(data).every(isCustomHeaderValue);
10290
+ }
10277
10291
  function isTransport(data) {
10278
10292
  if (!isObject(data))
10279
10293
  return false;
@@ -10284,7 +10298,7 @@ function isTransport(data) {
10284
10298
  if (type === "https" && data["refresh"] !== void 0 && typeof data["refresh"] !== "number") {
10285
10299
  return false;
10286
10300
  }
10287
- return (data["url"] === void 0 || typeof data["url"] === "string") && (data["urls"] === void 0 || Array.isArray(data["urls"]) && data["urls"].every(isTransportURL)) && (data["totp"] === void 0 || isTOTPConfig(data["totp"]));
10301
+ return (data["url"] === void 0 || typeof data["url"] === "string") && (data["urls"] === void 0 || Array.isArray(data["urls"]) && data["urls"].every(isTransportURL)) && (data["totp"] === void 0 || isTOTPConfig(data["totp"])) && (data["customHeaders"] === void 0 || isCustomHeaders(data["customHeaders"]));
10288
10302
  }
10289
10303
  function IsAChargeTransparencyLiveLink(data) {
10290
10304
  return isMandatoryJSONObject(data) && data["@context"] === ChargeTransparencyLiveLinkContext;
@@ -12305,6 +12319,6 @@ var Chargy = class {
12305
12319
  }
12306
12320
  };
12307
12321
 
12308
- export { ACrypt, Alfen, AlfenCrypt01, BSMCrypt01, CanonicalJSONError, ChargeIT, ChargePoint, ChargePointCrypt01, IChargeTransparencyLiveLink_exports as ChargeTransparencyLiveLink, ChargeTransparencyLiveLinkContext, IChargeTransparencyRecord_exports as ChargeTransparencyRecord, Chargy, chargyInterfaces_exports as ChargyInterfaces, Clone, CloneCTR, ConcatenateBuffers, CreateDiv, CreateDiv2, CreateError, CreateWarning, CryptoAlgorithms, CryptoHashAlgorithms, DayOfWeek, DisplayPrefixes, EDL40, EDL40Crypt01, EDL40ValidationError, EDL40_OBIS, EDL40_SESSION_CONTEXT, EDL40_SIGNATURE_CONTEXT, EMHCrypt01, ErrorLevel, GDFCrypt01, IECCurves, IEncoding, InformationRelevance, InformationRelevanceToString, IsAChargeTransparencyLiveLink, IsAChargeTransparencyRecord, IsAPublicKey, IsAPublicKeyLookup, IsAPublicKeySignature, IsAPublicKeyXY, IsASessionCryptoResult, IsAURL, IsNullOrEmpty, IsValidURL, JSONSignatureVerificationStatus, MENNEKES_EDL40_OBIS, MENNEKES_EDL40_XMLNS, Mennekes, MennekesCrypt01, OBIS2Hex, OBIS2MeasurementName, OBIS_RegExpr, OCMF, OCMFBonnTariffParseError, OCMFTransactionTypes, OCMF_SIGNATURE_ALGORITHMS, OCMFv1_x, OCPI, OIDInfo, PCDF, PCDFCrypt01, PCDFParseError, PCDFValidationError, PCDF_FIELD_ORDER, PCDF_PREFIX, PTB, ParseJSON_LD, PublicKeyFormats, IPublicKeyInfo_exports as PublicKeyInfo, SAFEXML, SessionVerificationResult, SetHex, SetInt8, SetText, SetText_withLength, SetTimestamp, SetTimestamp32, SetUInt32, SetUInt32_withCode, SetUInt64, SetUInt64D, SignMessage, SignatureFormats, IURL_exports as SimpleURL, TimeStatusTypes, URLContext, UTC2human, VerificationResult, VerifyJSONMessageSignatures, WarningLevel, WhenNullOrEmpty, XMLContainer, asJSONArray, asJSONObject, asNumber, asString, base64ToBytes, buf2hex, buildEDL40Signature, buildIsaSignature, buildMennekesSignatureData, bytesToBase64, bytesToHex, canParseEDL40, canonicalJSONBytes, canonicalJSONStringify, cleanHex, closeFullscreen, collectDocumentPublicKeys, createCompatibleCurve, createHexString, createLegacyP192Curve, dateToMennekesLocalEpochSeconds, decodeSmlMessages, extractMennekesChargingProcesses, findEntryByObis, findGetListRes, firstKey, firstValue, generateSignatureKeyPair, getArrayElement, getArrayLikeElement, getDirectChildByLocalName, getDirectChildrenByLocalName, getElementsByLocalName, getFirstArrayElement, getInt16Bytes, getInt32Bytes, getInt64Bytes, getInt8Bytes, getLastArrayElement, getOCMFSignatureDisplay, getSignatureSuite, getTrimmedTextContent, hashFile, hex2bin, hex32, hexToArrayBuffer, hexToBytes, intFromBytes, isEncodedValue, isGeoLocation, isI18NString, isICryptoResult, isIFileInfo, isISessionCryptoResult1, isISessionCryptoResult2, isJSONLDObject, isMandatoryArrayOfStrings, isMandatoryBoolean, isMandatoryDecimal, isMandatoryJSONArray, isMandatoryJSONObject, isMandatoryNumber, isMandatoryString, isMandatoryURL, isOIDInfo, isObject, isOptionalArrayOfStrings, isOptionalDecimal, isOptionalJSONArray, isOptionalJSONArrayError, isOptionalJSONArrayOk, isOptionalJSONObject, isOptionalNumber, isOptionalString, isOptionalStringArray, isOptionalStringOrOIDInfo, isOptionalURL, isPCDFText, isPublicKeySubject, isString, isStringArray, isStringOrOIDInfo, isStringOrStringArray, isaListNameContext, jsonPrettyPrinter, measurementName2human, meterTimeZone, normalizePCDFPublicKeyHex, normalizeXMLText, ocmfBonnTariffToChargingTariff, openFullscreen, pad, parseAndVerifyJSONSignatures, parseDescription, parseEDL40, parseHexString, parseMennekesXMLDocument, parseNumber, parseOBIS, parseOCMFBonnTariffText, parsePCDFDocument, parsePCDFPublicKey, parsePCDFSignature, parseSmlTime, parseUTC, readQRCodeTextFromImage, readQRCodeTextFromImageData, readTLV, secp224k1, setUILocale, sha256, sha256____, sha384, sha384____, sha512, sha512____, signJSONMessage, signMessage, stripPCDFControlCharacters, stripTransport, time2human, timeZoneOffsetMinutes, toArrayBuffer, toSessionVerificationResults, toUint8Array, transformEDL40Status, tryParseOCMFBonnTariffText, unquotePCDFText, validatePCDFFields, verifyDocumentSignatures, verifyEDL40Document, verifyJSONMessageSignatureResults, verifyJSONMessageSignatures, verifyJSONSignature, verifyJSONSignatureResult, verifyPCDFDocument };
12322
+ export { ACrypt, Alfen, AlfenCrypt01, BSMCrypt01, CanonicalJSONError, ChargeIT, ChargePoint, ChargePointCrypt01, IChargeTransparencyLiveLink_exports as ChargeTransparencyLiveLink, ChargeTransparencyLiveLinkContext, IChargeTransparencyRecord_exports as ChargeTransparencyRecord, Chargy, chargyInterfaces_exports as ChargyInterfaces, Clone, CloneCTR, ConcatenateBuffers, CreateDiv, CreateDiv2, CreateError, CreateWarning, CryptoAlgorithms, CryptoHashAlgorithms, DayOfWeek, DisplayPrefixes, EDL40, EDL40Crypt01, EDL40ValidationError, EDL40_OBIS, EDL40_SESSION_CONTEXT, EDL40_SIGNATURE_CONTEXT, EMHCrypt01, ErrorLevel, GDFCrypt01, IECCurves, IEncoding, InformationRelevance, InformationRelevanceToString, IsAChargeTransparencyLiveLink, IsAChargeTransparencyRecord, IsAPublicKey, IsAPublicKeyLookup, IsAPublicKeySignature, IsAPublicKeyXY, IsASessionCryptoResult, IsAURL, IsNullOrEmpty, IsValidURL, JSONSignatureVerificationStatus, MENNEKES_EDL40_OBIS, MENNEKES_EDL40_XMLNS, Mennekes, MennekesCrypt01, OBIS2Hex, OBIS2MeasurementName, OBIS_RegExpr, OCMF, OCMFBonnTariffParseError, OCMFTransactionTypes, OCMF_SIGNATURE_ALGORITHMS, OCMFv1_x, OCPI, OIDInfo, PCDF, PCDFCrypt01, PCDFParseError, PCDFValidationError, PCDF_FIELD_ORDER, PCDF_PREFIX, PTB, ParseJSON_LD, PublicKeyFormats, IPublicKeyInfo_exports as PublicKeyInfo, SAFEXML, SessionVerificationResult, SetHex, SetInt8, SetText, SetText_withLength, SetTimestamp, SetTimestamp32, SetUInt32, SetUInt32_withCode, SetUInt64, SetUInt64D, SignMessage, SignatureFormats, IURL_exports as SimpleURL, TimeStatusTypes, URLContext, UTC2human, VerificationResult, VerifyJSONMessageSignatures, WarningLevel, WhenNullOrEmpty, XMLContainer, asJSONArray, asJSONObject, asNumber, asString, base64ToBytes, buf2hex, buildEDL40Signature, buildIsaSignature, buildMennekesSignatureData, bytesToBase64, bytesToHex, canParseEDL40, canonicalJSONBytes, canonicalJSONStringify, cleanHex, closeFullscreen, collectDocumentPublicKeys, createCompatibleCurve, createHexString, createLegacyP192Curve, dateToMennekesLocalEpochSeconds, decodeSmlMessages, defaultRefreshSeconds, extractMennekesChargingProcesses, findEntryByObis, findGetListRes, firstKey, firstValue, generateSignatureKeyPair, getArrayElement, getArrayLikeElement, getDirectChildByLocalName, getDirectChildrenByLocalName, getElementsByLocalName, getFirstArrayElement, getInt16Bytes, getInt32Bytes, getInt64Bytes, getInt8Bytes, getLastArrayElement, getOCMFSignatureDisplay, getSignatureSuite, getTrimmedTextContent, hashFile, hex2bin, hex32, hexToArrayBuffer, hexToBytes, intFromBytes, isCustomHeaderValue, isCustomHeaderValueProvider, isCustomHeaders, isEncodedValue, isGeoLocation, isI18NString, isICryptoResult, isIFileInfo, isISessionCryptoResult1, isISessionCryptoResult2, isJSONLDObject, isMandatoryArrayOfStrings, isMandatoryBoolean, isMandatoryDecimal, isMandatoryJSONArray, isMandatoryJSONObject, isMandatoryNumber, isMandatoryString, isMandatoryURL, isOIDInfo, isObject, isOptionalArrayOfStrings, isOptionalDecimal, isOptionalJSONArray, isOptionalJSONArrayError, isOptionalJSONArrayOk, isOptionalJSONObject, isOptionalNumber, isOptionalString, isOptionalStringArray, isOptionalStringOrOIDInfo, isOptionalURL, isPCDFText, isPublicKeySubject, isString, isStringArray, isStringOrOIDInfo, isStringOrStringArray, isaListNameContext, jsonPrettyPrinter, measurementName2human, meterTimeZone, normalizePCDFPublicKeyHex, normalizeXMLText, ocmfBonnTariffToChargingTariff, openFullscreen, pad, parseAndVerifyJSONSignatures, parseDescription, parseEDL40, parseHexString, parseMennekesXMLDocument, parseNumber, parseOBIS, parseOCMFBonnTariffText, parsePCDFDocument, parsePCDFPublicKey, parsePCDFSignature, parseSmlTime, parseUTC, readQRCodeTextFromImage, readQRCodeTextFromImageData, readTLV, secp224k1, setUILocale, sha256, sha256____, sha384, sha384____, sha512, sha512____, signJSONMessage, signMessage, stripPCDFControlCharacters, stripTransport, time2human, timeZoneOffsetMinutes, toArrayBuffer, toSessionVerificationResults, toUint8Array, transformEDL40Status, tryParseOCMFBonnTariffText, unquotePCDFText, validatePCDFFields, verifyDocumentSignatures, verifyEDL40Document, verifyJSONMessageSignatureResults, verifyJSONMessageSignatures, verifyJSONSignature, verifyJSONSignatureResult, verifyPCDFDocument };
12309
12323
  //# sourceMappingURL=index.js.map
12310
12324
  //# sourceMappingURL=index.js.map