@icure/api 8.8.2 → 8.8.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.
@@ -11,21 +11,28 @@ export declare function ssinValidate(ssin: string | null | undefined): boolean |
11
11
  export declare function phoneNumberFormat(phoneNumber: string | null | undefined): string | undefined;
12
12
  /**
13
13
  * Converts a backend date number (e.g., patient birth date) into a Date object.
14
- * @param dateNumber a YYYYMMDD date number from the backend
14
+ *
15
+ * Accepts both yyyyMMdd and yyyyMMddHHmmss fuzzy dates (only the date part is kept), a String that
16
+ * can be parsed as such a number (blank Strings yield undefined), and a Date which is passed through.
17
+ * @param dateNumber a yyyyMMdd / yyyyMMddHHmmss fuzzy date, a numeric String, or a Date
15
18
  * @return a Date object
16
- * @throws Error if it is impossible to create a date from the number, other if dateNumber is negative.
19
+ * @throws Error if the fuzzy date is negative.
17
20
  * @see #dateEncode
18
21
  * @see #timeDecode
19
22
  */
20
- export declare function dateDecode(dateNumber: number | null | undefined): Date | undefined;
23
+ export declare function dateDecode(dateNumber: number | string | Date | null | undefined): Date | undefined;
21
24
  /**
22
25
  * Converts a backend time number (e.g., health element openingDate) into a Date object.
23
- * @param timeNumber a YYYYMMDD date number from the backend
26
+ *
27
+ * Accepts both yyyyMMddHHmmss and yyyyMMdd fuzzy dates (the time part defaults to midnight), a String
28
+ * that can be parsed as such a number (blank Strings yield undefined), and a Date which is passed through.
29
+ * @param timeNumber a yyyyMMddHHmmss / yyyyMMdd fuzzy date, a numeric String, or a Date
24
30
  * @return a Date object
31
+ * @throws Error if the fuzzy date is negative.
25
32
  * @see #timeEncode
26
33
  * @see #dateDecode
27
34
  */
28
- export declare function timeDecode(timeNumber: number | null | undefined): Date | undefined;
35
+ export declare function timeDecode(timeNumber: number | string | Date | null | undefined): Date | undefined;
29
36
  /**
30
37
  * Encodes a Date object into a backend date number (e.g., patient birth date).
31
38
  *
@@ -115,38 +115,69 @@ function phoneNumberFormat(phoneNumber) {
115
115
  }
116
116
  /**
117
117
  * Converts a backend date number (e.g., patient birth date) into a Date object.
118
- * @param dateNumber a YYYYMMDD date number from the backend
118
+ *
119
+ * Accepts both yyyyMMdd and yyyyMMddHHmmss fuzzy dates (only the date part is kept), a String that
120
+ * can be parsed as such a number (blank Strings yield undefined), and a Date which is passed through.
121
+ * @param dateNumber a yyyyMMdd / yyyyMMddHHmmss fuzzy date, a numeric String, or a Date
119
122
  * @return a Date object
120
- * @throws Error if it is impossible to create a date from the number, other if dateNumber is negative.
123
+ * @throws Error if the fuzzy date is negative.
121
124
  * @see #dateEncode
122
125
  * @see #timeDecode
123
126
  */
124
127
  function dateDecode(dateNumber) {
125
128
  if (dateNumber === null || dateNumber === undefined)
126
129
  return undefined;
130
+ if (dateNumber instanceof Date)
131
+ return dateNumber;
132
+ if (typeof dateNumber === 'string') {
133
+ if (dateNumber.trim() === '')
134
+ return undefined;
135
+ const parsed = Number(dateNumber);
136
+ if (isNaN(parsed))
137
+ return undefined;
138
+ dateNumber = parsed;
139
+ }
127
140
  if (dateNumber < 0) {
128
141
  throw new Error("We don't decode negative dates. Please make sure you have valid data.");
129
142
  }
143
+ if (!dateNumber)
144
+ return undefined;
145
+ // Accept both yyyyMMdd and yyyyMMddHHmmss: pad short numbers and keep only the date part.
130
146
  const dateNumberStr = dateNumber.toString().padStart(8, '19700101');
131
- if (dateNumberStr.length > 8) {
132
- if (dateNumberStr.endsWith('000000')) {
133
- return dateNumber ? (0, date_fns_1.parse)(dateNumberStr.slice(0, 8), 'yyyyMMdd', new Date()) : undefined;
134
- }
135
- throw Error("Decoded date is over year 9999. We can't format it properly.");
136
- }
137
- return dateNumber ? (0, date_fns_1.parse)(dateNumberStr, 'yyyyMMdd', new Date()) : undefined;
147
+ return (0, date_fns_1.parse)(dateNumberStr.slice(0, 8), 'yyyyMMdd', new Date());
138
148
  }
139
149
  /**
140
150
  * Converts a backend time number (e.g., health element openingDate) into a Date object.
141
- * @param timeNumber a YYYYMMDD date number from the backend
151
+ *
152
+ * Accepts both yyyyMMddHHmmss and yyyyMMdd fuzzy dates (the time part defaults to midnight), a String
153
+ * that can be parsed as such a number (blank Strings yield undefined), and a Date which is passed through.
154
+ * @param timeNumber a yyyyMMddHHmmss / yyyyMMdd fuzzy date, a numeric String, or a Date
142
155
  * @return a Date object
156
+ * @throws Error if the fuzzy date is negative.
143
157
  * @see #timeEncode
144
158
  * @see #dateDecode
145
159
  */
146
160
  function timeDecode(timeNumber) {
147
161
  if (timeNumber === null || timeNumber === undefined)
148
162
  return undefined;
149
- return timeNumber ? (0, date_fns_1.parse)(timeNumber.toString(), 'yyyyMMddHHmmss', new Date()) : undefined;
163
+ if (timeNumber instanceof Date)
164
+ return timeNumber;
165
+ if (typeof timeNumber === 'string') {
166
+ if (timeNumber.trim() === '')
167
+ return undefined;
168
+ const parsed = Number(timeNumber);
169
+ if (isNaN(parsed))
170
+ return undefined;
171
+ timeNumber = parsed;
172
+ }
173
+ if (timeNumber < 0) {
174
+ throw new Error("We don't decode negative dates. Please make sure you have valid data.");
175
+ }
176
+ if (!timeNumber)
177
+ return undefined;
178
+ // Accept both yyyyMMdd and yyyyMMddHHmmss: pad the date part, then fill the time part with zeroes.
179
+ const timeNumberStr = timeNumber.toString().padStart(8, '19700101').padEnd(14, '0');
180
+ return (0, date_fns_1.parse)(timeNumberStr, 'yyyyMMddHHmmss', new Date());
150
181
  }
151
182
  /**
152
183
  * Encodes a Date object into a backend date number (e.g., patient birth date).
@@ -1 +1 @@
1
- {"version":3,"file":"formatting-util.js","sourceRoot":"","sources":["../../../icc-x-api/utils/formatting-util.ts"],"names":[],"mappings":"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","sourcesContent":["import { parseNumber, formatNumber, ParsedNumber } from 'libphonenumber-js'\nimport {format as formatDate, parse as parseDate} from 'date-fns'\n\n// TODO: move this to env.js?\nconst DEFAULT_COUNTRY = 'BE'\n\nexport const nihiiRegExp = new RegExp('^(\\\\d{1})(\\\\d{5})(\\\\d{2})(\\\\d{3})$')\nexport const ssinRegExp = new RegExp('^(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})$')\nexport const ibanRegExp = new RegExp('^(\\\\d{4})(\\\\d{4})(\\\\d{4})(\\\\d{4})$')\n\nconst patterns = {\n IBAN: (iban: string) => /^BE\\d{14}$/.test(iban) && isValidIBAN(iban),\n IBANBE: (iban: string) => /^BE\\d{14}$/.test(iban) && isValidIBAN(iban),\n}\n\n//http://ht5ifv.serprest.pt/extensions/tools/IBAN/\nexport function isValidIBAN(iban: string | null | undefined): boolean | undefined {\n if (iban === null || iban === undefined) return undefined\n //This function check if the checksum if correct\n iban = iban.replace(/^(.{4})(.*)$/, '$2$1') //Move the first 4 chars from left to the right\n const fun = (e: string) => (e.charCodeAt(0) - 'A'.charCodeAt(0) + 10).toString()\n iban = iban.replace(/[A-Z]/g, fun) //Convert A-Z to 10-25\n let $sum = 0\n let $ei = 1 //First exponent\n for (let $i = iban.length - 1; $i >= 0; $i--) {\n $sum += $ei * parseInt(iban.charAt($i), 10) //multiply the digit by it's exponent\n $ei = ($ei * 10) % 97 //compute next base 10 exponent in modulus 97\n }\n return $sum % 97 === 1\n}\n\nexport function ibanValidate(iban: string | null | undefined): boolean | undefined {\n if (iban === null || iban === undefined) return undefined\n if (iban.startsWith('BE')) {\n return patterns.IBANBE(iban)\n } else {\n return patterns.IBAN(iban)\n }\n}\n\nexport function ibanFormat(iban: string | null | undefined): string | undefined {\n if (iban === null || iban === undefined) return undefined\n return iban.replace(ibanRegExp, '$1 $2 $3 $4')\n}\n\nexport function nihiiFormat(nihii: string | null | undefined): string | undefined {\n if (nihii === null || nihii === undefined) return undefined\n return nihii.replace(nihiiRegExp, '$1 $2 $3 $4')\n}\n\nexport function nihiiValidate(nihii: string | null | undefined): boolean | undefined {\n if (nihii === null || nihii === undefined) return undefined\n return !!nihii.match(nihiiRegExp)\n}\n\nexport function ssinFormat(ssin: string | null | undefined): string | undefined {\n if (ssin === null || ssin === undefined) return undefined\n return ssin.replace(ssinRegExp, '$1 $2 $3 $4 $5')\n}\n\nexport function ssinValidate(ssin: string | null | undefined): boolean | undefined {\n if (ssin === null || ssin === undefined) return undefined\n return !!ssin.match(ssinRegExp)\n}\n\n/* Alternate lib free version\nexport function phoneNumberValidate(phoneNumber: string): boolean {\n return (\n !!phoneNumber.match(/(?:\\+|00)([1-9][0-9]{1-2})([- /.]*([0-9]+))+/) ||\n !!phoneNumber.match(/(0[1-9][0-9]*)([- /.]*([0-9]+))+/)\n )\n}\n\nexport function phoneNumberFormat(phoneNumber: string): string {\n let match = phoneNumber.match(/(?:\\+|00)([1-9][0-9]{1-2})([- /.]*([0-9]+))+/)\n if (match) {\n return `+${match[1]} ${match[2].replace(/[- /.]/g, \" \")}`.replace(/ /g, \" \")\n }\n match = phoneNumber.match(/0([1-9][0-9]*)([- /.]*([0-9]+))+/)\n if (match) {\n return `+32 ${match[1]} ${match[2].replace(/[- /.]/g, \" \")}`.replace(/ /g, \" \")\n }\n return phoneNumber\n}\n*/\n\nexport function phoneNumberFormat(phoneNumber: string | null | undefined): string | undefined {\n if (phoneNumber === null || phoneNumber === undefined) return undefined\n const parsedPhoneNumber = parseNumber(phoneNumber, DEFAULT_COUNTRY) as ParsedNumber\n if (Object.keys(parsedPhoneNumber).length === 0) {\n // The number is not valid, so we leave the input string as-is.\n return phoneNumber\n }\n return formatNumber(parsedPhoneNumber, 'INTERNATIONAL')\n}\n\n/**\n * Converts a backend date number (e.g., patient birth date) into a Date object.\n * @param dateNumber a YYYYMMDD date number from the backend\n * @return a Date object\n * @throws Error if it is impossible to create a date from the number, other if dateNumber is negative.\n * @see #dateEncode\n * @see #timeDecode\n */\nexport function dateDecode(dateNumber: number | null | undefined): Date | undefined {\n if (dateNumber === null || dateNumber === undefined) return undefined\n\n if (dateNumber < 0) {\n throw new Error(\"We don't decode negative dates. Please make sure you have valid data.\")\n }\n const dateNumberStr: string = dateNumber.toString().padStart(8, '19700101')\n if (dateNumberStr.length > 8) {\n if (dateNumberStr.endsWith('000000')) {\n return dateNumber ? parseDate(dateNumberStr.slice(0, 8), 'yyyyMMdd', new Date()) : undefined\n }\n\n throw Error(\"Decoded date is over year 9999. We can't format it properly.\")\n }\n return dateNumber ? parseDate(dateNumberStr, 'yyyyMMdd', new Date()) : undefined\n}\n\n/**\n * Converts a backend time number (e.g., health element openingDate) into a Date object.\n * @param timeNumber a YYYYMMDD date number from the backend\n * @return a Date object\n * @see #timeEncode\n * @see #dateDecode\n */\nexport function timeDecode(timeNumber: number | null | undefined): Date | undefined {\n if (timeNumber === null || timeNumber === undefined) return undefined\n return timeNumber ? parseDate(timeNumber.toString(), 'yyyyMMddHHmmss', new Date()) : undefined\n}\n\n/**\n * Encodes a Date object into a backend date number (e.g., patient birth date).\n *\n * A Date is formatted as usual. A String or a Number is interpreted as a fuzzy date that is already\n * encoded (yyyyMMdd or yyyyMMddHHmmss) or as an epoch expressed in milliseconds.\n * @param date a Date object, or a fuzzy date / epoch as a String or Number\n * @return a YYYYMMDD date number for the backend\n * @see #dateDecode\n * @see #timeEncode\n */\nexport function dateEncode(date?: Date | Number | String | null | undefined): number | undefined {\n if (date === null || date === undefined) { return undefined }\n if (typeof date === 'string' && date.trim() === '') return undefined\n if (date instanceof Date) {\n // date is null if the field is not set\n return date ? Number(formatDate(date, 'yyyyMMdd').padStart(8, '19700101')) : undefined\n }\n // A String or a Number is a fuzzy date (yyyyMMdd, yyyyMMddHHmmss) or an epoch in milliseconds\n const fuzzy = Number(date)\n if (!fuzzy || isNaN(fuzzy)) return undefined\n if (fuzzy >= 18000101 && fuzzy < 25400000) {\n // already a yyyyMMdd fuzzy date\n return fuzzy\n }\n if (fuzzy >= 18000101000000) {\n // a yyyyMMddHHmmss fuzzy date: keep only the date part\n return Math.floor(fuzzy / 1000000)\n }\n // an epoch expressed in milliseconds\n return Number(formatDate(new Date(fuzzy), 'yyyyMMdd'))\n}\n\n/**\n * Encodes a Date object into a backend time number (e.g., health element openingDate).\n *\n * A Date is formatted as usual. A String or a Number is interpreted as a fuzzy date that is already\n * encoded (yyyyMMdd or yyyyMMddHHmmss) or as an epoch expressed in milliseconds.\n * @param date a Date object, or a fuzzy date / epoch as a String or Number\n * @return a YYYYMMDDHHmmss date number for the backend\n * @see #timeDecode\n * @see #dateEncode\n */\nexport function timeEncode(date: Date | Number | String | null | undefined): number | undefined {\n if (date === null || date === undefined) return undefined\n if (typeof date === 'string' && date.trim() === '') return undefined\n if (date instanceof Date) {\n return date ? Number(formatDate(date, 'yyyyMMddHHmmss')) : undefined\n }\n // A String or a Number is a fuzzy date (yyyyMMdd, yyyyMMddHHmmss) or an epoch in milliseconds\n const fuzzy = Number(date)\n if (!fuzzy || isNaN(fuzzy)) return undefined\n if (fuzzy >= 18000101 && fuzzy < 25400000) {\n // a yyyyMMdd fuzzy date: pad the time part with zeroes\n return fuzzy * 1000000\n }\n if (fuzzy >= 18000101000000) {\n // already a yyyyMMddHHmmss fuzzy date\n return fuzzy\n }\n // an epoch expressed in milliseconds\n return Number(formatDate(new Date(fuzzy), 'yyyyMMddHHmmss'))\n}\n\n/**\n * Formats a value and a physical unit into text.\n * @param value the numerical or string value to encode\n * @param unit the unit represented as a string (an empty string is also supported)\n */\nexport function unit(value: number | string | null | undefined, unit: string | null | undefined): string | undefined {\n if (value === null || value === undefined) return undefined\n unit = unit || ''\n let separator: string\n if (!unit || unit.startsWith('°')) {\n separator = ''\n } else {\n // including '%'\n separator = '\\xa0'\n }\n return value + separator + unit\n}\n\n/**\n * 0.1 + 0.2 = 0.30000000000000004. Use this function to be better at maths.\n * @param value number\n * @return the rounded number, two after the comma\n */\nexport function amount(value: number | null | undefined): number | undefined {\n if (value === null || value === undefined) return undefined\n return Number(value.toFixed(2))\n}\n\n/**\n * A simple formatter to keep the logic across the app.\n * Input: 2.1 ; Output: 2.10€\n */\nexport function money(value: number | null | undefined): string | undefined {\n if (value === null || value === undefined) return undefined\n return [value.toFixed(2), '€'].join('')\n}\n\n/**\n * Transform a dictionary to a url params.\n * From { key1: value1, key2: value2, ... } returns key1=value1&key2=value2&...=...\n */\nexport function toUrlParams(params: { [key: string]: string } | null | undefined): string | undefined {\n if (params === null || params === undefined) return undefined\n return Object.entries(params)\n .map(([key, value]) => (value ? key + '=' + value : undefined))\n .filter(Boolean)\n .join('&')\n}\n\nexport function personName(person: { firstName?: string; lastName?: string } | null | undefined): string | undefined {\n if (person === null || person === undefined) return undefined\n return `${person.firstName || ''} ${person.lastName || ''}`.trim()\n}\n\nexport function personNameAbbrev(person: { firstName?: string; lastName?: string } | null | undefined): string | undefined {\n if (person === null || person === undefined) return undefined\n const firstName = person.firstName ? person.firstName[0] + '.' : undefined\n return personName({...person, firstName})\n}\n\n// Moment.js → date-fns format token mapping. Listed longest-first so the\n// matcher consumes the longest valid moment token at each position.\nconst MOMENT_TO_DATE_FNS_TOKENS: ReadonlyArray<readonly [string, string]> = [\n // Year\n ['YYYY', 'yyyy'],\n ['YY', 'yy'],\n ['Y', 'y'],\n // Month\n ['MMMM', 'MMMM'],\n ['MMM', 'MMM'],\n ['Mo', 'Mo'],\n ['MM', 'MM'],\n ['M', 'M'],\n // Quarter\n ['Qo', 'Qo'],\n ['Q', 'Q'],\n // Day of year (moment DDD/DDDD/DDDo → date-fns D/DDD/Do, additional tokens)\n ['DDDDo', 'Do'],\n ['DDDD', 'DDD'],\n ['DDDo', 'Do'],\n ['DDD', 'D'],\n // Day of month\n ['Do', 'do'],\n ['DD', 'dd'],\n ['D', 'd'],\n // Day of week\n ['dddd', 'EEEE'],\n ['ddd', 'EEE'],\n ['dd', 'EEEEEE'],\n ['do', 'eo'],\n ['d', 'e'],\n ['E', 'i'],\n // Week of year\n ['ww', 'ww'],\n ['wo', 'wo'],\n ['w', 'w'],\n ['WW', 'II'],\n ['Wo', 'Io'],\n ['W', 'I'],\n // Hour\n ['HH', 'HH'],\n ['H', 'H'],\n ['hh', 'hh'],\n ['h', 'h'],\n ['kk', 'kk'],\n ['k', 'k'],\n // AM/PM\n ['A', 'a'],\n ['a', 'aaa'],\n // Minute\n ['mm', 'mm'],\n ['m', 'm'],\n // Second\n ['ss', 'ss'],\n ['s', 's'],\n // Fractional seconds\n ['SSSS', 'SSSS'],\n ['SSS', 'SSS'],\n ['SS', 'SS'],\n ['S', 'S'],\n // Timezone offset\n ['ZZ', 'xx'],\n ['Z', 'xxx'],\n // Unix timestamp\n ['X', 't'],\n ['x', 'T'],\n]\n\nexport function momentFormatToDateFnsFormat(format: string | null | undefined): string | undefined {\n if (format === null || format === undefined) return undefined\n const parts: string[] = []\n let literalBuffer = ''\n\n const flushLiteral = () => {\n if (literalBuffer.length > 0) {\n parts.push(\"'\" + literalBuffer.replace(/'/g, \"''\") + \"'\")\n literalBuffer = ''\n }\n }\n\n let i = 0\n while (i < format.length) {\n const c = format[i]\n\n // Moment bracketed literal: [text] → date-fns 'text'\n if (c === '[') {\n const end = format.indexOf(']', i)\n if (end === -1) {\n literalBuffer += format.substring(i + 1)\n i = format.length\n continue\n }\n literalBuffer += format.substring(i + 1, end)\n i = end + 1\n continue\n }\n\n // Match the longest moment token starting at the current position.\n let matched: readonly [string, string] | undefined\n for (const token of MOMENT_TO_DATE_FNS_TOKENS) {\n if (format.startsWith(token[0], i)) {\n matched = token\n break\n }\n }\n if (matched) {\n flushLiteral()\n parts.push(matched[1])\n i += matched[0].length\n continue\n }\n\n // Non-token character: alphabetic chars must be escaped as literals,\n // otherwise date-fns would interpret them as its own tokens.\n if (/[A-Za-z]/.test(c)) {\n literalBuffer += c\n } else {\n flushLiteral()\n parts.push(c)\n }\n i++\n }\n flushLiteral()\n return parts.join('')\n}\n\nexport function toMoment(epochOrLongCalendar: number | null | undefined): { format: (format: string | null | undefined) => string | undefined } | undefined {\n if (epochOrLongCalendar === null || epochOrLongCalendar === undefined) return undefined\n if (!epochOrLongCalendar && epochOrLongCalendar !== 0) {\n return undefined\n }\n const parsed = (epochOrLongCalendar >= 18000101 && epochOrLongCalendar < 25400000) ?\n parseDate('' + epochOrLongCalendar, 'yyyyMMdd', new Date()) :\n (epochOrLongCalendar >= 18000101000000) ?\n parseDate('' + epochOrLongCalendar, 'yyyyMMddHHmmss', new Date()) :\n new Date(epochOrLongCalendar)\n return {\n format: (format: string | null | undefined): string | undefined => {\n if (format === null || format === undefined) return undefined\n const dateFnsFormat = momentFormatToDateFnsFormat(format)\n if (dateFnsFormat === null || dateFnsFormat === undefined) return undefined\n return formatDate(parsed, dateFnsFormat, {\n useAdditionalDayOfYearTokens: true,\n useAdditionalWeekYearTokens: true,\n })\n }\n }\n}\n"]}
1
+ {"version":3,"file":"formatting-util.js","sourceRoot":"","sources":["../../../icc-x-api/utils/formatting-util.ts"],"names":[],"mappings":"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","sourcesContent":["import { parseNumber, formatNumber, ParsedNumber } from 'libphonenumber-js'\nimport {format as formatDate, parse as parseDate} from 'date-fns'\n\n// TODO: move this to env.js?\nconst DEFAULT_COUNTRY = 'BE'\n\nexport const nihiiRegExp = new RegExp('^(\\\\d{1})(\\\\d{5})(\\\\d{2})(\\\\d{3})$')\nexport const ssinRegExp = new RegExp('^(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})$')\nexport const ibanRegExp = new RegExp('^(\\\\d{4})(\\\\d{4})(\\\\d{4})(\\\\d{4})$')\n\nconst patterns = {\n IBAN: (iban: string) => /^BE\\d{14}$/.test(iban) && isValidIBAN(iban),\n IBANBE: (iban: string) => /^BE\\d{14}$/.test(iban) && isValidIBAN(iban),\n}\n\n//http://ht5ifv.serprest.pt/extensions/tools/IBAN/\nexport function isValidIBAN(iban: string | null | undefined): boolean | undefined {\n if (iban === null || iban === undefined) return undefined\n //This function check if the checksum if correct\n iban = iban.replace(/^(.{4})(.*)$/, '$2$1') //Move the first 4 chars from left to the right\n const fun = (e: string) => (e.charCodeAt(0) - 'A'.charCodeAt(0) + 10).toString()\n iban = iban.replace(/[A-Z]/g, fun) //Convert A-Z to 10-25\n let $sum = 0\n let $ei = 1 //First exponent\n for (let $i = iban.length - 1; $i >= 0; $i--) {\n $sum += $ei * parseInt(iban.charAt($i), 10) //multiply the digit by it's exponent\n $ei = ($ei * 10) % 97 //compute next base 10 exponent in modulus 97\n }\n return $sum % 97 === 1\n}\n\nexport function ibanValidate(iban: string | null | undefined): boolean | undefined {\n if (iban === null || iban === undefined) return undefined\n if (iban.startsWith('BE')) {\n return patterns.IBANBE(iban)\n } else {\n return patterns.IBAN(iban)\n }\n}\n\nexport function ibanFormat(iban: string | null | undefined): string | undefined {\n if (iban === null || iban === undefined) return undefined\n return iban.replace(ibanRegExp, '$1 $2 $3 $4')\n}\n\nexport function nihiiFormat(nihii: string | null | undefined): string | undefined {\n if (nihii === null || nihii === undefined) return undefined\n return nihii.replace(nihiiRegExp, '$1 $2 $3 $4')\n}\n\nexport function nihiiValidate(nihii: string | null | undefined): boolean | undefined {\n if (nihii === null || nihii === undefined) return undefined\n return !!nihii.match(nihiiRegExp)\n}\n\nexport function ssinFormat(ssin: string | null | undefined): string | undefined {\n if (ssin === null || ssin === undefined) return undefined\n return ssin.replace(ssinRegExp, '$1 $2 $3 $4 $5')\n}\n\nexport function ssinValidate(ssin: string | null | undefined): boolean | undefined {\n if (ssin === null || ssin === undefined) return undefined\n return !!ssin.match(ssinRegExp)\n}\n\n/* Alternate lib free version\nexport function phoneNumberValidate(phoneNumber: string): boolean {\n return (\n !!phoneNumber.match(/(?:\\+|00)([1-9][0-9]{1-2})([- /.]*([0-9]+))+/) ||\n !!phoneNumber.match(/(0[1-9][0-9]*)([- /.]*([0-9]+))+/)\n )\n}\n\nexport function phoneNumberFormat(phoneNumber: string): string {\n let match = phoneNumber.match(/(?:\\+|00)([1-9][0-9]{1-2})([- /.]*([0-9]+))+/)\n if (match) {\n return `+${match[1]} ${match[2].replace(/[- /.]/g, \" \")}`.replace(/ /g, \" \")\n }\n match = phoneNumber.match(/0([1-9][0-9]*)([- /.]*([0-9]+))+/)\n if (match) {\n return `+32 ${match[1]} ${match[2].replace(/[- /.]/g, \" \")}`.replace(/ /g, \" \")\n }\n return phoneNumber\n}\n*/\n\nexport function phoneNumberFormat(phoneNumber: string | null | undefined): string | undefined {\n if (phoneNumber === null || phoneNumber === undefined) return undefined\n const parsedPhoneNumber = parseNumber(phoneNumber, DEFAULT_COUNTRY) as ParsedNumber\n if (Object.keys(parsedPhoneNumber).length === 0) {\n // The number is not valid, so we leave the input string as-is.\n return phoneNumber\n }\n return formatNumber(parsedPhoneNumber, 'INTERNATIONAL')\n}\n\n/**\n * Converts a backend date number (e.g., patient birth date) into a Date object.\n *\n * Accepts both yyyyMMdd and yyyyMMddHHmmss fuzzy dates (only the date part is kept), a String that\n * can be parsed as such a number (blank Strings yield undefined), and a Date which is passed through.\n * @param dateNumber a yyyyMMdd / yyyyMMddHHmmss fuzzy date, a numeric String, or a Date\n * @return a Date object\n * @throws Error if the fuzzy date is negative.\n * @see #dateEncode\n * @see #timeDecode\n */\nexport function dateDecode(dateNumber: number | string | Date | null | undefined): Date | undefined {\n if (dateNumber === null || dateNumber === undefined) return undefined\n if (dateNumber instanceof Date) return dateNumber\n if (typeof dateNumber === 'string') {\n if (dateNumber.trim() === '') return undefined\n const parsed = Number(dateNumber)\n if (isNaN(parsed)) return undefined\n dateNumber = parsed\n }\n if (dateNumber < 0) {\n throw new Error(\"We don't decode negative dates. Please make sure you have valid data.\")\n }\n if (!dateNumber) return undefined\n // Accept both yyyyMMdd and yyyyMMddHHmmss: pad short numbers and keep only the date part.\n const dateNumberStr: string = dateNumber.toString().padStart(8, '19700101')\n\n return parseDate(dateNumberStr.slice(0, 8), 'yyyyMMdd', new Date())\n}\n\n/**\n * Converts a backend time number (e.g., health element openingDate) into a Date object.\n *\n * Accepts both yyyyMMddHHmmss and yyyyMMdd fuzzy dates (the time part defaults to midnight), a String\n * that can be parsed as such a number (blank Strings yield undefined), and a Date which is passed through.\n * @param timeNumber a yyyyMMddHHmmss / yyyyMMdd fuzzy date, a numeric String, or a Date\n * @return a Date object\n * @throws Error if the fuzzy date is negative.\n * @see #timeEncode\n * @see #dateDecode\n */\nexport function timeDecode(timeNumber: number | string | Date | null | undefined): Date | undefined {\n if (timeNumber === null || timeNumber === undefined) return undefined\n if (timeNumber instanceof Date) return timeNumber\n if (typeof timeNumber === 'string') {\n if (timeNumber.trim() === '') return undefined\n const parsed = Number(timeNumber)\n if (isNaN(parsed)) return undefined\n timeNumber = parsed\n }\n if (timeNumber < 0) {\n throw new Error(\"We don't decode negative dates. Please make sure you have valid data.\")\n }\n if (!timeNumber) return undefined\n // Accept both yyyyMMdd and yyyyMMddHHmmss: pad the date part, then fill the time part with zeroes.\n const timeNumberStr: string = timeNumber.toString().padStart(8, '19700101').padEnd(14, '0')\n return parseDate(timeNumberStr, 'yyyyMMddHHmmss', new Date())\n}\n\n/**\n * Encodes a Date object into a backend date number (e.g., patient birth date).\n *\n * A Date is formatted as usual. A String or a Number is interpreted as a fuzzy date that is already\n * encoded (yyyyMMdd or yyyyMMddHHmmss) or as an epoch expressed in milliseconds.\n * @param date a Date object, or a fuzzy date / epoch as a String or Number\n * @return a YYYYMMDD date number for the backend\n * @see #dateDecode\n * @see #timeEncode\n */\nexport function dateEncode(date?: Date | Number | String | null | undefined): number | undefined {\n if (date === null || date === undefined) { return undefined }\n if (typeof date === 'string' && date.trim() === '') return undefined\n if (date instanceof Date) {\n // date is null if the field is not set\n return date ? Number(formatDate(date, 'yyyyMMdd').padStart(8, '19700101')) : undefined\n }\n // A String or a Number is a fuzzy date (yyyyMMdd, yyyyMMddHHmmss) or an epoch in milliseconds\n const fuzzy = Number(date)\n if (!fuzzy || isNaN(fuzzy)) return undefined\n if (fuzzy >= 18000101 && fuzzy < 25400000) {\n // already a yyyyMMdd fuzzy date\n return fuzzy\n }\n if (fuzzy >= 18000101000000) {\n // a yyyyMMddHHmmss fuzzy date: keep only the date part\n return Math.floor(fuzzy / 1000000)\n }\n // an epoch expressed in milliseconds\n return Number(formatDate(new Date(fuzzy), 'yyyyMMdd'))\n}\n\n/**\n * Encodes a Date object into a backend time number (e.g., health element openingDate).\n *\n * A Date is formatted as usual. A String or a Number is interpreted as a fuzzy date that is already\n * encoded (yyyyMMdd or yyyyMMddHHmmss) or as an epoch expressed in milliseconds.\n * @param date a Date object, or a fuzzy date / epoch as a String or Number\n * @return a YYYYMMDDHHmmss date number for the backend\n * @see #timeDecode\n * @see #dateEncode\n */\nexport function timeEncode(date: Date | Number | String | null | undefined): number | undefined {\n if (date === null || date === undefined) return undefined\n if (typeof date === 'string' && date.trim() === '') return undefined\n if (date instanceof Date) {\n return date ? Number(formatDate(date, 'yyyyMMddHHmmss')) : undefined\n }\n // A String or a Number is a fuzzy date (yyyyMMdd, yyyyMMddHHmmss) or an epoch in milliseconds\n const fuzzy = Number(date)\n if (!fuzzy || isNaN(fuzzy)) return undefined\n if (fuzzy >= 18000101 && fuzzy < 25400000) {\n // a yyyyMMdd fuzzy date: pad the time part with zeroes\n return fuzzy * 1000000\n }\n if (fuzzy >= 18000101000000) {\n // already a yyyyMMddHHmmss fuzzy date\n return fuzzy\n }\n // an epoch expressed in milliseconds\n return Number(formatDate(new Date(fuzzy), 'yyyyMMddHHmmss'))\n}\n\n/**\n * Formats a value and a physical unit into text.\n * @param value the numerical or string value to encode\n * @param unit the unit represented as a string (an empty string is also supported)\n */\nexport function unit(value: number | string | null | undefined, unit: string | null | undefined): string | undefined {\n if (value === null || value === undefined) return undefined\n unit = unit || ''\n let separator: string\n if (!unit || unit.startsWith('°')) {\n separator = ''\n } else {\n // including '%'\n separator = '\\xa0'\n }\n return value + separator + unit\n}\n\n/**\n * 0.1 + 0.2 = 0.30000000000000004. Use this function to be better at maths.\n * @param value number\n * @return the rounded number, two after the comma\n */\nexport function amount(value: number | null | undefined): number | undefined {\n if (value === null || value === undefined) return undefined\n return Number(value.toFixed(2))\n}\n\n/**\n * A simple formatter to keep the logic across the app.\n * Input: 2.1 ; Output: 2.10€\n */\nexport function money(value: number | null | undefined): string | undefined {\n if (value === null || value === undefined) return undefined\n return [value.toFixed(2), '€'].join('')\n}\n\n/**\n * Transform a dictionary to a url params.\n * From { key1: value1, key2: value2, ... } returns key1=value1&key2=value2&...=...\n */\nexport function toUrlParams(params: { [key: string]: string } | null | undefined): string | undefined {\n if (params === null || params === undefined) return undefined\n return Object.entries(params)\n .map(([key, value]) => (value ? key + '=' + value : undefined))\n .filter(Boolean)\n .join('&')\n}\n\nexport function personName(person: { firstName?: string; lastName?: string } | null | undefined): string | undefined {\n if (person === null || person === undefined) return undefined\n return `${person.firstName || ''} ${person.lastName || ''}`.trim()\n}\n\nexport function personNameAbbrev(person: { firstName?: string; lastName?: string } | null | undefined): string | undefined {\n if (person === null || person === undefined) return undefined\n const firstName = person.firstName ? person.firstName[0] + '.' : undefined\n return personName({...person, firstName})\n}\n\n// Moment.js → date-fns format token mapping. Listed longest-first so the\n// matcher consumes the longest valid moment token at each position.\nconst MOMENT_TO_DATE_FNS_TOKENS: ReadonlyArray<readonly [string, string]> = [\n // Year\n ['YYYY', 'yyyy'],\n ['YY', 'yy'],\n ['Y', 'y'],\n // Month\n ['MMMM', 'MMMM'],\n ['MMM', 'MMM'],\n ['Mo', 'Mo'],\n ['MM', 'MM'],\n ['M', 'M'],\n // Quarter\n ['Qo', 'Qo'],\n ['Q', 'Q'],\n // Day of year (moment DDD/DDDD/DDDo → date-fns D/DDD/Do, additional tokens)\n ['DDDDo', 'Do'],\n ['DDDD', 'DDD'],\n ['DDDo', 'Do'],\n ['DDD', 'D'],\n // Day of month\n ['Do', 'do'],\n ['DD', 'dd'],\n ['D', 'd'],\n // Day of week\n ['dddd', 'EEEE'],\n ['ddd', 'EEE'],\n ['dd', 'EEEEEE'],\n ['do', 'eo'],\n ['d', 'e'],\n ['E', 'i'],\n // Week of year\n ['ww', 'ww'],\n ['wo', 'wo'],\n ['w', 'w'],\n ['WW', 'II'],\n ['Wo', 'Io'],\n ['W', 'I'],\n // Hour\n ['HH', 'HH'],\n ['H', 'H'],\n ['hh', 'hh'],\n ['h', 'h'],\n ['kk', 'kk'],\n ['k', 'k'],\n // AM/PM\n ['A', 'a'],\n ['a', 'aaa'],\n // Minute\n ['mm', 'mm'],\n ['m', 'm'],\n // Second\n ['ss', 'ss'],\n ['s', 's'],\n // Fractional seconds\n ['SSSS', 'SSSS'],\n ['SSS', 'SSS'],\n ['SS', 'SS'],\n ['S', 'S'],\n // Timezone offset\n ['ZZ', 'xx'],\n ['Z', 'xxx'],\n // Unix timestamp\n ['X', 't'],\n ['x', 'T'],\n]\n\nexport function momentFormatToDateFnsFormat(format: string | null | undefined): string | undefined {\n if (format === null || format === undefined) return undefined\n const parts: string[] = []\n let literalBuffer = ''\n\n const flushLiteral = () => {\n if (literalBuffer.length > 0) {\n parts.push(\"'\" + literalBuffer.replace(/'/g, \"''\") + \"'\")\n literalBuffer = ''\n }\n }\n\n let i = 0\n while (i < format.length) {\n const c = format[i]\n\n // Moment bracketed literal: [text] → date-fns 'text'\n if (c === '[') {\n const end = format.indexOf(']', i)\n if (end === -1) {\n literalBuffer += format.substring(i + 1)\n i = format.length\n continue\n }\n literalBuffer += format.substring(i + 1, end)\n i = end + 1\n continue\n }\n\n // Match the longest moment token starting at the current position.\n let matched: readonly [string, string] | undefined\n for (const token of MOMENT_TO_DATE_FNS_TOKENS) {\n if (format.startsWith(token[0], i)) {\n matched = token\n break\n }\n }\n if (matched) {\n flushLiteral()\n parts.push(matched[1])\n i += matched[0].length\n continue\n }\n\n // Non-token character: alphabetic chars must be escaped as literals,\n // otherwise date-fns would interpret them as its own tokens.\n if (/[A-Za-z]/.test(c)) {\n literalBuffer += c\n } else {\n flushLiteral()\n parts.push(c)\n }\n i++\n }\n flushLiteral()\n return parts.join('')\n}\n\nexport function toMoment(epochOrLongCalendar: number | null | undefined): { format: (format: string | null | undefined) => string | undefined } | undefined {\n if (epochOrLongCalendar === null || epochOrLongCalendar === undefined) return undefined\n if (!epochOrLongCalendar && epochOrLongCalendar !== 0) {\n return undefined\n }\n const parsed = (epochOrLongCalendar >= 18000101 && epochOrLongCalendar < 25400000) ?\n parseDate('' + epochOrLongCalendar, 'yyyyMMdd', new Date()) :\n (epochOrLongCalendar >= 18000101000000) ?\n parseDate('' + epochOrLongCalendar, 'yyyyMMddHHmmss', new Date()) :\n new Date(epochOrLongCalendar)\n return {\n format: (format: string | null | undefined): string | undefined => {\n if (format === null || format === undefined) return undefined\n const dateFnsFormat = momentFormatToDateFnsFormat(format)\n if (dateFnsFormat === null || dateFnsFormat === undefined) return undefined\n return formatDate(parsed, dateFnsFormat, {\n useAdditionalDayOfYearTokens: true,\n useAdditionalWeekYearTokens: true,\n })\n }\n }\n}\n"]}
@@ -1,2 +1,507 @@
1
- var createLzmaModule=(()=>{var _scriptName=globalThis.document?.currentScript?.src;return async function(moduleArg={}){var moduleRtn;var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};if(typeof __filename!="undefined"){_scriptName=__filename}else if(ENVIRONMENT_IS_WORKER){_scriptName=self.location.href}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("node:fs");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var isFileURI=filename=>filename.startsWith("file://");var readyPromiseResolve,readyPromiseReject;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var HEAP64,HEAPU64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports["c"]()}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){return locateFile("lzma.wasm")}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var noExitRuntime=true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var getHeapMax=()=>2147483648;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.codePointAt(i);if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63;i++}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):"";var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}Module["ccall"]=ccall;Module["cwrap"]=cwrap;var _get_result_len,_get_result_ptr,_free_result,_free,_lzma_wasm_compress,_malloc,_lzma_wasm_decompress,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,memory,__indirect_function_table,wasmMemory;function assignWasmExports(wasmExports){_get_result_len=Module["_get_result_len"]=wasmExports["d"];_get_result_ptr=Module["_get_result_ptr"]=wasmExports["e"];_free_result=Module["_free_result"]=wasmExports["f"];_free=Module["_free"]=wasmExports["g"];_lzma_wasm_compress=Module["_lzma_wasm_compress"]=wasmExports["h"];_malloc=Module["_malloc"]=wasmExports["i"];_lzma_wasm_decompress=Module["_lzma_wasm_decompress"]=wasmExports["j"];__emscripten_stack_restore=wasmExports["k"];__emscripten_stack_alloc=wasmExports["l"];_emscripten_stack_get_current=wasmExports["m"];memory=wasmMemory=wasmExports["b"];__indirect_function_table=wasmExports["__indirect_function_table"]}var wasmImports={a:_emscripten_resize_heap};function run(){preRun();function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}var wasmExports;wasmExports=await (createWasm());run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}
2
- ;return moduleRtn}})();if(typeof exports==="object"&&typeof module==="object"){module.exports=createLzmaModule;module.exports.default=createLzmaModule}else if(typeof define==="function"&&define["amd"])define([],()=>createLzmaModule);
1
+ var createLzmaModule = (() => {
2
+ var _scriptName = globalThis.document?.currentScript?.src;
3
+ return async function (moduleArg = {}) {
4
+ var moduleRtn;
5
+ var Module = moduleArg;
6
+ var ENVIRONMENT_IS_WEB = !!globalThis.window;
7
+ var ENVIRONMENT_IS_WORKER = !!globalThis.WorkerGlobalScope;
8
+ var ENVIRONMENT_IS_NODE = globalThis.process?.versions?.node && globalThis.process?.type != "renderer";
9
+ var arguments_ = [];
10
+ var thisProgram = "./this.program";
11
+ var quit_ = (status, toThrow) => {
12
+ throw toThrow
13
+ };
14
+ if (typeof __filename != "undefined") {
15
+ _scriptName = __filename
16
+ } else if (ENVIRONMENT_IS_WORKER) {
17
+ _scriptName = self.location.href
18
+ }
19
+ var scriptDirectory = "";
20
+
21
+ function locateFile(path) {
22
+ if (Module["locateFile"]) {
23
+ return Module["locateFile"](path, scriptDirectory)
24
+ }
25
+ return scriptDirectory + path
26
+ }
27
+
28
+ var readAsync, readBinary;
29
+ if (ENVIRONMENT_IS_NODE) {
30
+ // Aliased require so bundlers (esbuild/webpack on Vercel, Next.js, ...) don't try to
31
+ // statically resolve the Node-only "node:fs" builtin when bundling for the browser/edge.
32
+ // This branch only runs under Node, where `require` is available.
33
+ var nodeRequire = typeof require === "function" ? require : undefined;
34
+ var fs = nodeRequire("node:fs");
35
+ scriptDirectory = __dirname + "/";
36
+ readBinary = filename => {
37
+ filename = isFileURI(filename) ? new URL(filename) : filename;
38
+ var ret = fs.readFileSync(filename);
39
+ return ret
40
+ };
41
+ readAsync = async (filename, binary = true) => {
42
+ filename = isFileURI(filename) ? new URL(filename) : filename;
43
+ var ret = fs.readFileSync(filename, binary ? undefined : "utf8");
44
+ return ret
45
+ };
46
+ if (process.argv.length > 1) {
47
+ thisProgram = process.argv[1].replace(/\\/g, "/")
48
+ }
49
+ arguments_ = process.argv.slice(2);
50
+ quit_ = (status, toThrow) => {
51
+ process.exitCode = status;
52
+ throw toThrow
53
+ }
54
+ } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
55
+ try {
56
+ scriptDirectory = new URL(".", _scriptName).href
57
+ } catch {
58
+ }
59
+ {
60
+ if (ENVIRONMENT_IS_WORKER) {
61
+ readBinary = url => {
62
+ var xhr = new XMLHttpRequest;
63
+ xhr.open("GET", url, false);
64
+ xhr.responseType = "arraybuffer";
65
+ xhr.send(null);
66
+ return new Uint8Array(xhr.response)
67
+ }
68
+ }
69
+ readAsync = async url => {
70
+ var response = await fetch(url, {credentials: "same-origin"});
71
+ if (response.ok) {
72
+ return response.arrayBuffer()
73
+ }
74
+ throw new Error(response.status + " : " + response.url)
75
+ }
76
+ }
77
+ } else {
78
+ }
79
+ var out = console.log.bind(console);
80
+ var err = console.error.bind(console);
81
+ var wasmBinary;
82
+ var ABORT = false;
83
+ var isFileURI = filename => filename.startsWith("file://");
84
+ var readyPromiseResolve, readyPromiseReject;
85
+ var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
86
+ var HEAP64, HEAPU64;
87
+ var runtimeInitialized = false;
88
+
89
+ function updateMemoryViews() {
90
+ var b = wasmMemory.buffer;
91
+ HEAP8 = new Int8Array(b);
92
+ HEAP16 = new Int16Array(b);
93
+ Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
94
+ HEAPU16 = new Uint16Array(b);
95
+ HEAP32 = new Int32Array(b);
96
+ HEAPU32 = new Uint32Array(b);
97
+ HEAPF32 = new Float32Array(b);
98
+ HEAPF64 = new Float64Array(b);
99
+ HEAP64 = new BigInt64Array(b);
100
+ HEAPU64 = new BigUint64Array(b)
101
+ }
102
+
103
+ function preRun() {
104
+ if (Module["preRun"]) {
105
+ if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]];
106
+ while (Module["preRun"].length) {
107
+ addOnPreRun(Module["preRun"].shift())
108
+ }
109
+ }
110
+ callRuntimeCallbacks(onPreRuns)
111
+ }
112
+
113
+ function initRuntime() {
114
+ runtimeInitialized = true;
115
+ wasmExports["c"]()
116
+ }
117
+
118
+ function postRun() {
119
+ if (Module["postRun"]) {
120
+ if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]];
121
+ while (Module["postRun"].length) {
122
+ addOnPostRun(Module["postRun"].shift())
123
+ }
124
+ }
125
+ callRuntimeCallbacks(onPostRuns)
126
+ }
127
+
128
+ function abort(what) {
129
+ Module["onAbort"]?.(what);
130
+ what = "Aborted(" + what + ")";
131
+ err(what);
132
+ ABORT = true;
133
+ what += ". Build with -sASSERTIONS for more info.";
134
+ var e = new WebAssembly.RuntimeError(what);
135
+ readyPromiseReject?.(e);
136
+ throw e
137
+ }
138
+
139
+ var wasmBinaryFile;
140
+
141
+ function findWasmBinary() {
142
+ return locateFile("lzma.wasm")
143
+ }
144
+
145
+ function getBinarySync(file) {
146
+ if (file == wasmBinaryFile && wasmBinary) {
147
+ return new Uint8Array(wasmBinary)
148
+ }
149
+ if (readBinary) {
150
+ return readBinary(file)
151
+ }
152
+ throw "both async and sync fetching of the wasm failed"
153
+ }
154
+
155
+ async function getWasmBinary(binaryFile) {
156
+ if (!wasmBinary) {
157
+ try {
158
+ var response = await readAsync(binaryFile);
159
+ return new Uint8Array(response)
160
+ } catch {
161
+ }
162
+ }
163
+ return getBinarySync(binaryFile)
164
+ }
165
+
166
+ async function instantiateArrayBuffer(binaryFile, imports) {
167
+ try {
168
+ var binary = await getWasmBinary(binaryFile);
169
+ var instance = await WebAssembly.instantiate(binary, imports);
170
+ return instance
171
+ } catch (reason) {
172
+ err(`failed to asynchronously prepare wasm: ${reason}`);
173
+ abort(reason)
174
+ }
175
+ }
176
+
177
+ async function instantiateAsync(binary, binaryFile, imports) {
178
+ if (!binary && !ENVIRONMENT_IS_NODE) {
179
+ try {
180
+ var response = fetch(binaryFile, {credentials: "same-origin"});
181
+ var instantiationResult = await WebAssembly.instantiateStreaming(response, imports);
182
+ return instantiationResult
183
+ } catch (reason) {
184
+ err(`wasm streaming compile failed: ${reason}`);
185
+ err("falling back to ArrayBuffer instantiation")
186
+ }
187
+ }
188
+ return instantiateArrayBuffer(binaryFile, imports)
189
+ }
190
+
191
+ function getWasmImports() {
192
+ var imports = {a: wasmImports};
193
+ return imports
194
+ }
195
+
196
+ async function createWasm() {
197
+ function receiveInstance(instance, module) {
198
+ wasmExports = instance.exports;
199
+ assignWasmExports(wasmExports);
200
+ updateMemoryViews();
201
+ return wasmExports
202
+ }
203
+
204
+ function receiveInstantiationResult(result) {
205
+ return receiveInstance(result["instance"])
206
+ }
207
+
208
+ var info = getWasmImports();
209
+ if (Module["instantiateWasm"]) {
210
+ return new Promise((resolve, reject) => {
211
+ Module["instantiateWasm"](info, (inst, mod) => {
212
+ resolve(receiveInstance(inst, mod))
213
+ })
214
+ })
215
+ }
216
+ wasmBinaryFile ??= findWasmBinary();
217
+ var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info);
218
+ var exports = receiveInstantiationResult(result);
219
+ return exports
220
+ }
221
+
222
+ class ExitStatus {
223
+ name = "ExitStatus";
224
+
225
+ constructor(status) {
226
+ this.message = `Program terminated with exit(${status})`;
227
+ this.status = status
228
+ }
229
+ }
230
+
231
+ var callRuntimeCallbacks = callbacks => {
232
+ while (callbacks.length > 0) {
233
+ callbacks.shift()(Module)
234
+ }
235
+ };
236
+ var onPostRuns = [];
237
+ var addOnPostRun = cb => onPostRuns.push(cb);
238
+ var onPreRuns = [];
239
+ var addOnPreRun = cb => onPreRuns.push(cb);
240
+ var noExitRuntime = true;
241
+ var stackRestore = val => __emscripten_stack_restore(val);
242
+ var stackSave = () => _emscripten_stack_get_current();
243
+ var getHeapMax = () => 2147483648;
244
+ var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;
245
+ var growMemory = size => {
246
+ var oldHeapSize = wasmMemory.buffer.byteLength;
247
+ var pages = (size - oldHeapSize + 65535) / 65536 | 0;
248
+ try {
249
+ wasmMemory.grow(pages);
250
+ updateMemoryViews();
251
+ return 1
252
+ } catch (e) {
253
+ }
254
+ };
255
+ var _emscripten_resize_heap = requestedSize => {
256
+ var oldSize = HEAPU8.length;
257
+ requestedSize >>>= 0;
258
+ var maxHeapSize = getHeapMax();
259
+ if (requestedSize > maxHeapSize) {
260
+ return false
261
+ }
262
+ for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
263
+ var overGrownHeapSize = oldSize * (1 + .2 / cutDown);
264
+ overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
265
+ var newSize = Math.min(maxHeapSize, alignMemory(Math.max(requestedSize, overGrownHeapSize), 65536));
266
+ var replacement = growMemory(newSize);
267
+ if (replacement) {
268
+ return true
269
+ }
270
+ }
271
+ return false
272
+ };
273
+ var getCFunc = ident => {
274
+ var func = Module["_" + ident];
275
+ return func
276
+ };
277
+ var writeArrayToMemory = (array, buffer) => {
278
+ HEAP8.set(array, buffer)
279
+ };
280
+ var lengthBytesUTF8 = str => {
281
+ var len = 0;
282
+ for (var i = 0; i < str.length; ++i) {
283
+ var c = str.charCodeAt(i);
284
+ if (c <= 127) {
285
+ len++
286
+ } else if (c <= 2047) {
287
+ len += 2
288
+ } else if (c >= 55296 && c <= 57343) {
289
+ len += 4;
290
+ ++i
291
+ } else {
292
+ len += 3
293
+ }
294
+ }
295
+ return len
296
+ };
297
+ var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {
298
+ if (!(maxBytesToWrite > 0)) return 0;
299
+ var startIdx = outIdx;
300
+ var endIdx = outIdx + maxBytesToWrite - 1;
301
+ for (var i = 0; i < str.length; ++i) {
302
+ var u = str.codePointAt(i);
303
+ if (u <= 127) {
304
+ if (outIdx >= endIdx) break;
305
+ heap[outIdx++] = u
306
+ } else if (u <= 2047) {
307
+ if (outIdx + 1 >= endIdx) break;
308
+ heap[outIdx++] = 192 | u >> 6;
309
+ heap[outIdx++] = 128 | u & 63
310
+ } else if (u <= 65535) {
311
+ if (outIdx + 2 >= endIdx) break;
312
+ heap[outIdx++] = 224 | u >> 12;
313
+ heap[outIdx++] = 128 | u >> 6 & 63;
314
+ heap[outIdx++] = 128 | u & 63
315
+ } else {
316
+ if (outIdx + 3 >= endIdx) break;
317
+ heap[outIdx++] = 240 | u >> 18;
318
+ heap[outIdx++] = 128 | u >> 12 & 63;
319
+ heap[outIdx++] = 128 | u >> 6 & 63;
320
+ heap[outIdx++] = 128 | u & 63;
321
+ i++
322
+ }
323
+ }
324
+ heap[outIdx] = 0;
325
+ return outIdx - startIdx
326
+ };
327
+ var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
328
+ var stackAlloc = sz => __emscripten_stack_alloc(sz);
329
+ var stringToUTF8OnStack = str => {
330
+ var size = lengthBytesUTF8(str) + 1;
331
+ var ret = stackAlloc(size);
332
+ stringToUTF8(str, ret, size);
333
+ return ret
334
+ };
335
+ var UTF8Decoder = globalThis.TextDecoder && new TextDecoder;
336
+ var findStringEnd = (heapOrArray, idx, maxBytesToRead, ignoreNul) => {
337
+ var maxIdx = idx + maxBytesToRead;
338
+ if (ignoreNul) return maxIdx;
339
+ while (heapOrArray[idx] && !(idx >= maxIdx)) ++idx;
340
+ return idx
341
+ };
342
+ var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead, ignoreNul) => {
343
+ var endPtr = findStringEnd(heapOrArray, idx, maxBytesToRead, ignoreNul);
344
+ if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
345
+ return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr))
346
+ }
347
+ var str = "";
348
+ while (idx < endPtr) {
349
+ var u0 = heapOrArray[idx++];
350
+ if (!(u0 & 128)) {
351
+ str += String.fromCharCode(u0);
352
+ continue
353
+ }
354
+ var u1 = heapOrArray[idx++] & 63;
355
+ if ((u0 & 224) == 192) {
356
+ str += String.fromCharCode((u0 & 31) << 6 | u1);
357
+ continue
358
+ }
359
+ var u2 = heapOrArray[idx++] & 63;
360
+ if ((u0 & 240) == 224) {
361
+ u0 = (u0 & 15) << 12 | u1 << 6 | u2
362
+ } else {
363
+ u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63
364
+ }
365
+ if (u0 < 65536) {
366
+ str += String.fromCharCode(u0)
367
+ } else {
368
+ var ch = u0 - 65536;
369
+ str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023)
370
+ }
371
+ }
372
+ return str
373
+ };
374
+ var UTF8ToString = (ptr, maxBytesToRead, ignoreNul) => ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead, ignoreNul) : "";
375
+ var ccall = (ident, returnType, argTypes, args, opts) => {
376
+ var toC = {
377
+ string: str => {
378
+ var ret = 0;
379
+ if (str !== null && str !== undefined && str !== 0) {
380
+ ret = stringToUTF8OnStack(str)
381
+ }
382
+ return ret
383
+ }, array: arr => {
384
+ var ret = stackAlloc(arr.length);
385
+ writeArrayToMemory(arr, ret);
386
+ return ret
387
+ }
388
+ };
389
+
390
+ function convertReturnValue(ret) {
391
+ if (returnType === "string") {
392
+ return UTF8ToString(ret)
393
+ }
394
+ if (returnType === "boolean") return Boolean(ret);
395
+ return ret
396
+ }
397
+
398
+ var func = getCFunc(ident);
399
+ var cArgs = [];
400
+ var stack = 0;
401
+ if (args) {
402
+ for (var i = 0; i < args.length; i++) {
403
+ var converter = toC[argTypes[i]];
404
+ if (converter) {
405
+ if (stack === 0) stack = stackSave();
406
+ cArgs[i] = converter(args[i])
407
+ } else {
408
+ cArgs[i] = args[i]
409
+ }
410
+ }
411
+ }
412
+ var ret = func(...cArgs);
413
+
414
+ function onDone(ret) {
415
+ if (stack !== 0) stackRestore(stack);
416
+ return convertReturnValue(ret)
417
+ }
418
+
419
+ ret = onDone(ret);
420
+ return ret
421
+ };
422
+ var cwrap = (ident, returnType, argTypes, opts) => {
423
+ var numericArgs = !argTypes || argTypes.every(type => type === "number" || type === "boolean");
424
+ var numericRet = returnType !== "string";
425
+ if (numericRet && numericArgs && !opts) {
426
+ return getCFunc(ident)
427
+ }
428
+ return (...args) => ccall(ident, returnType, argTypes, args, opts)
429
+ };
430
+ {
431
+ if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];
432
+ if (Module["print"]) out = Module["print"];
433
+ if (Module["printErr"]) err = Module["printErr"];
434
+ if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
435
+ if (Module["arguments"]) arguments_ = Module["arguments"];
436
+ if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
437
+ if (Module["preInit"]) {
438
+ if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]];
439
+ while (Module["preInit"].length > 0) {
440
+ Module["preInit"].shift()()
441
+ }
442
+ }
443
+ }
444
+ Module["ccall"] = ccall;
445
+ Module["cwrap"] = cwrap;
446
+ var _get_result_len, _get_result_ptr, _free_result, _free, _lzma_wasm_compress, _malloc, _lzma_wasm_decompress, __emscripten_stack_restore,
447
+ __emscripten_stack_alloc, _emscripten_stack_get_current, memory, __indirect_function_table, wasmMemory;
448
+
449
+ function assignWasmExports(wasmExports) {
450
+ _get_result_len = Module["_get_result_len"] = wasmExports["d"];
451
+ _get_result_ptr = Module["_get_result_ptr"] = wasmExports["e"];
452
+ _free_result = Module["_free_result"] = wasmExports["f"];
453
+ _free = Module["_free"] = wasmExports["g"];
454
+ _lzma_wasm_compress = Module["_lzma_wasm_compress"] = wasmExports["h"];
455
+ _malloc = Module["_malloc"] = wasmExports["i"];
456
+ _lzma_wasm_decompress = Module["_lzma_wasm_decompress"] = wasmExports["j"];
457
+ __emscripten_stack_restore = wasmExports["k"];
458
+ __emscripten_stack_alloc = wasmExports["l"];
459
+ _emscripten_stack_get_current = wasmExports["m"];
460
+ memory = wasmMemory = wasmExports["b"];
461
+ __indirect_function_table = wasmExports["__indirect_function_table"]
462
+ }
463
+
464
+ var wasmImports = {a: _emscripten_resize_heap};
465
+
466
+ function run() {
467
+ preRun();
468
+
469
+ function doRun() {
470
+ Module["calledRun"] = true;
471
+ if (ABORT) return;
472
+ initRuntime();
473
+ readyPromiseResolve?.(Module);
474
+ Module["onRuntimeInitialized"]?.();
475
+ postRun()
476
+ }
477
+
478
+ if (Module["setStatus"]) {
479
+ Module["setStatus"]("Running...");
480
+ setTimeout(() => {
481
+ setTimeout(() => Module["setStatus"](""), 1);
482
+ doRun()
483
+ }, 1)
484
+ } else {
485
+ doRun()
486
+ }
487
+ }
488
+
489
+ var wasmExports;
490
+ wasmExports = await (createWasm());
491
+ run();
492
+ if (runtimeInitialized) {
493
+ moduleRtn = Module
494
+ } else {
495
+ moduleRtn = new Promise((resolve, reject) => {
496
+ readyPromiseResolve = resolve;
497
+ readyPromiseReject = reject
498
+ })
499
+ }
500
+ ;
501
+ return moduleRtn
502
+ }
503
+ })();
504
+ if (typeof exports === "object" && typeof module === "object") {
505
+ module.exports = createLzmaModule;
506
+ module.exports.default = createLzmaModule
507
+ } else if (typeof define === "function" && define["amd"]) define([], () => createLzmaModule);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@icure/api",
3
- "version": "8.8.2",
3
+ "version": "8.8.4",
4
4
  "description": "Typescript version of iCure standalone API client",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",