@fin.cx/opendata 3.6.0 → 4.0.0

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 (78) hide show
  1. package/.smartconfig.json +20 -20
  2. package/dist_ts/00_commitinfo_data.js +3 -3
  3. package/dist_ts/handelsregister/classes.handelsregisterclient.d.ts +64 -0
  4. package/dist_ts/handelsregister/classes.handelsregisterclient.js +397 -0
  5. package/dist_ts/handelsregister/classes.handelsregistererror.d.ts +56 -0
  6. package/dist_ts/handelsregister/classes.handelsregistererror.js +37 -0
  7. package/dist_ts/handelsregister/classes.portalsession.d.ts +46 -0
  8. package/dist_ts/handelsregister/classes.portalsession.js +160 -0
  9. package/dist_ts/handelsregister/classes.slidingwindowgate.d.ts +32 -0
  10. package/dist_ts/handelsregister/classes.slidingwindowgate.js +55 -0
  11. package/dist_ts/handelsregister/constants.d.ts +13 -0
  12. package/dist_ts/handelsregister/constants.js +19 -0
  13. package/dist_ts/handelsregister/data.codelists.d.ts +29 -0
  14. package/dist_ts/handelsregister/data.codelists.js +616 -0
  15. package/dist_ts/handelsregister/forms.d.ts +27 -0
  16. package/dist_ts/handelsregister/forms.js +77 -0
  17. package/dist_ts/handelsregister/html.d.ts +26 -0
  18. package/dist_ts/handelsregister/html.js +82 -0
  19. package/dist_ts/handelsregister/index.d.ts +9 -0
  20. package/dist_ts/handelsregister/index.js +10 -0
  21. package/dist_ts/handelsregister/interfaces.d.ts +240 -0
  22. package/dist_ts/handelsregister/interfaces.js +2 -0
  23. package/dist_ts/handelsregister/parse.searchresults.d.ts +35 -0
  24. package/dist_ts/handelsregister/parse.searchresults.js +175 -0
  25. package/dist_ts/handelsregister/parse.structuredcontent.d.ts +6 -0
  26. package/dist_ts/handelsregister/parse.structuredcontent.js +306 -0
  27. package/dist_ts/handelsregister/plugins.d.ts +4 -0
  28. package/dist_ts/handelsregister/plugins.js +8 -0
  29. package/dist_ts/handelsregister/references.d.ts +34 -0
  30. package/dist_ts/handelsregister/references.js +76 -0
  31. package/dist_ts/index.d.ts +0 -2
  32. package/dist_ts/index.js +1 -3
  33. package/dist_ts/plugins.d.ts +2 -20
  34. package/dist_ts/plugins.js +3 -22
  35. package/package.json +33 -37
  36. package/readme.md +159 -126
  37. package/ts/00_commitinfo_data.ts +2 -2
  38. package/ts/handelsregister/classes.handelsregisterclient.ts +474 -0
  39. package/ts/handelsregister/classes.handelsregistererror.ts +82 -0
  40. package/ts/handelsregister/classes.portalsession.ts +191 -0
  41. package/ts/handelsregister/classes.slidingwindowgate.ts +74 -0
  42. package/ts/handelsregister/constants.ts +30 -0
  43. package/ts/handelsregister/data.codelists.ts +640 -0
  44. package/ts/handelsregister/forms.ts +99 -0
  45. package/ts/handelsregister/html.ts +113 -0
  46. package/ts/handelsregister/index.ts +27 -0
  47. package/ts/handelsregister/interfaces.ts +272 -0
  48. package/ts/handelsregister/parse.searchresults.ts +241 -0
  49. package/ts/handelsregister/parse.structuredcontent.ts +338 -0
  50. package/ts/handelsregister/plugins.ts +15 -0
  51. package/ts/handelsregister/references.ts +115 -0
  52. package/ts/index.ts +0 -2
  53. package/ts/plugins.ts +0 -39
  54. package/dist_ts/classes.businessrecord.d.ts +0 -38
  55. package/dist_ts/classes.businessrecord.js +0 -90
  56. package/dist_ts/classes.handelsregister.d.ts +0 -134
  57. package/dist_ts/classes.handelsregister.js +0 -307
  58. package/dist_ts/classes.jsonldata.d.ts +0 -43
  59. package/dist_ts/classes.jsonldata.js +0 -68
  60. package/dist_ts/classes.main.opendata.d.ts +0 -25
  61. package/dist_ts/classes.main.opendata.js +0 -91
  62. package/dist_ts/laws/classes.lawrecord.d.ts +0 -24
  63. package/dist_ts/laws/classes.lawrecord.js +0 -181
  64. package/dist_ts/laws/classes.lawservice.d.ts +0 -52
  65. package/dist_ts/laws/classes.lawservice.js +0 -740
  66. package/dist_ts/laws/index.d.ts +0 -3
  67. package/dist_ts/laws/index.js +0 -4
  68. package/dist_ts/laws/interfaces.law.d.ts +0 -35
  69. package/dist_ts/laws/interfaces.law.js +0 -2
  70. package/readme.hints.md +0 -89
  71. package/ts/classes.businessrecord.ts +0 -67
  72. package/ts/classes.handelsregister.ts +0 -385
  73. package/ts/classes.jsonldata.ts +0 -114
  74. package/ts/classes.main.opendata.ts +0 -120
  75. package/ts/laws/classes.lawrecord.ts +0 -81
  76. package/ts/laws/classes.lawservice.ts +0 -1010
  77. package/ts/laws/index.ts +0 -3
  78. package/ts/laws/interfaces.law.ts +0 -48
@@ -0,0 +1,115 @@
1
+ import { registerTypes } from './constants.js';
2
+ import { registerCourts } from './data.codelists.js';
3
+ import type { IRegisterCourt, IRegisterReference, TRegisterType } from './interfaces.js';
4
+
5
+ /** a register number split into its digits and its location suffix */
6
+ export interface IRegisterNumberParts {
7
+ digits: string;
8
+ /** upper case, for example `HB` */
9
+ suffix?: string;
10
+ }
11
+
12
+ /** a register reference read from text; the court is absent when the text names none */
13
+ export interface IParsedRegisterReferenceText {
14
+ court?: IRegisterCourt;
15
+ /** the court as the text names it, when it names one */
16
+ courtText?: string;
17
+ type: TRegisterType;
18
+ /** digits and location suffix, for example `35230 HB` */
19
+ number: string;
20
+ }
21
+
22
+ const collapse = (textArg: string): string => textArg.replace(/\s+/g, ' ').trim();
23
+
24
+ const courtKey = (textArg: string): string =>
25
+ collapse(textArg)
26
+ .replace(/^(?:amtsgericht|registergericht|ag)\s+/i, '')
27
+ .toLocaleLowerCase('de-DE');
28
+
29
+ /** the alternative name the portal puts in brackets: `Berlin (Charlottenburg)` → `charlottenburg` */
30
+ const courtAliasKey = (nameArg: string): string | undefined => {
31
+ const bracket = /\(([^()]+)\)\s*$/.exec(nameArg);
32
+ return bracket ? courtKey(bracket[1]) : undefined;
33
+ };
34
+
35
+ /**
36
+ * Finds a register court by its code or its name: `H1101`, `Bremen`, `Amtsgericht Bremen`,
37
+ * `Berlin (Charlottenburg)` or `Charlottenburg`. Returns undefined unless exactly one court fits.
38
+ */
39
+ export const findRegisterCourt = (
40
+ codeOrNameArg: string,
41
+ courtsArg: readonly IRegisterCourt[] = registerCourts
42
+ ): IRegisterCourt | undefined => {
43
+ const text = collapse(codeOrNameArg);
44
+ if (!text) {
45
+ return undefined;
46
+ }
47
+ const byCode = courtsArg.find((courtArg) => courtArg.code.toUpperCase() === text.toUpperCase());
48
+ if (byCode) {
49
+ return byCode;
50
+ }
51
+ const key = courtKey(text);
52
+ const byName = courtsArg.filter((courtArg) => courtKey(courtArg.name) === key);
53
+ if (byName.length === 1) {
54
+ return byName[0];
55
+ }
56
+ if (byName.length > 1) {
57
+ return undefined;
58
+ }
59
+ const byAlias = courtsArg.filter((courtArg) => courtAliasKey(courtArg.name) === key);
60
+ return byAlias.length === 1 ? byAlias[0] : undefined;
61
+ };
62
+
63
+ /** returns the canonical register type for `hrb`, `HRB`, `gnr` …, or undefined */
64
+ export const toRegisterType = (textArg: string): TRegisterType | undefined =>
65
+ registerTypes.find((typeArg) => typeArg.toLowerCase() === collapse(textArg).toLowerCase());
66
+
67
+ /** splits `35230 HB`, `35230HB` or `35230` into digits and location suffix */
68
+ export const parseRegisterNumber = (textArg: string): IRegisterNumberParts | undefined => {
69
+ const match = /^(\d{1,9})\s*([A-Za-zÄÖÜäöü]{1,5})?$/.exec(collapse(textArg));
70
+ if (!match) {
71
+ return undefined;
72
+ }
73
+ return match[2] ? { digits: match[1], suffix: match[2].toLocaleUpperCase('de-DE') } : { digits: match[1] };
74
+ };
75
+
76
+ export const formatRegisterNumber = (partsArg: IRegisterNumberParts): string =>
77
+ partsArg.suffix ? `${partsArg.digits} ${partsArg.suffix}` : partsArg.digits;
78
+
79
+ /**
80
+ * Reads a register reference as businesses print it: `Amtsgericht Bremen HRB 35230 HB`,
81
+ * `AG Bremen, HRB 35230`, `HRB 35230 HB`. Returns undefined for text it cannot read. A court name
82
+ * that fits no register court leaves `court` absent and keeps the text in `courtText`.
83
+ */
84
+ export const parseRegisterReferenceText = (
85
+ textArg: string,
86
+ courtsArg: readonly IRegisterCourt[] = registerCourts
87
+ ): IParsedRegisterReferenceText | undefined => {
88
+ const text = collapse(textArg);
89
+ const match =
90
+ /^(.*?)[\s,;:]*\b(HRA|HRB|GnR|PR|VR|GsR)\b\.?\s*(?:Nr\.?\s*)?(\d{1,9}(?:\s*[A-Za-zÄÖÜäöü]{1,5})?)(?=\s|$)(?:\s+früher\s+Amtsgericht\s+.+)?$/i.exec(
91
+ text
92
+ );
93
+ if (!match) {
94
+ return undefined;
95
+ }
96
+ const type = toRegisterType(match[2]);
97
+ const number = parseRegisterNumber(match[3]);
98
+ if (!type || !number) {
99
+ return undefined;
100
+ }
101
+ const courtText = collapse(match[1].replace(/[,;:]+$/, ''));
102
+ const result: IParsedRegisterReferenceText = { type, number: formatRegisterNumber(number) };
103
+ if (courtText) {
104
+ result.courtText = courtText;
105
+ const court = findRegisterCourt(courtText, courtsArg);
106
+ if (court) {
107
+ result.court = court;
108
+ }
109
+ }
110
+ return result;
111
+ };
112
+
113
+ /** `Amtsgericht Bremen HRB 35230 HB` */
114
+ export const formatRegisterReference = (referenceArg: IRegisterReference): string =>
115
+ `Amtsgericht ${referenceArg.court.name} ${referenceArg.type} ${referenceArg.number}`;
package/ts/index.ts CHANGED
@@ -1,3 +1 @@
1
- export * from './classes.main.opendata.js';
2
- export * from './laws/index.js';
3
1
  export * from './stocks/index.js';
package/ts/plugins.ts CHANGED
@@ -1,33 +1,15 @@
1
1
  // node native scope
2
- import * as fs from 'node:fs/promises';
3
2
  import * as path from 'node:path';
4
3
 
5
4
  export {
6
- fs,
7
5
  path,
8
6
  }
9
7
 
10
8
  // @push.rocks scope
11
- import * as lik from '@push.rocks/lik';
12
9
  import * as qenv from '@push.rocks/qenv';
13
- import * as smartarchive from '@push.rocks/smartarchive';
14
- import * as smartarray from '@push.rocks/smartarray';
15
- import * as smartbrowser from '@push.rocks/smartbrowser';
16
- import * as smartdata from '@push.rocks/smartdata';
17
10
  import * as smartdelay from '@push.rocks/smartdelay';
18
- import * as smartfile from '@push.rocks/smartfile';
19
- import { SmartFs, SmartFsProviderNode } from '@push.rocks/smartfs';
20
- import * as smartlog from '@push.rocks/smartlog';
21
11
  import * as smartpath from '@push.rocks/smartpath';
22
- import * as smartpromise from '@push.rocks/smartpromise';
23
12
  import * as smartrequest from '@push.rocks/smartrequest';
24
- import * as smartdb from '@push.rocks/smartdb';
25
- import * as smartstream from '@push.rocks/smartstream';
26
- import * as smartunique from '@push.rocks/smartunique';
27
- import * as smartxml from '@push.rocks/smartxml';
28
-
29
- const smartfs = new SmartFs(new SmartFsProviderNode());
30
- const smartfileFactory = new smartfile.SmartFileFactory(smartfs);
31
13
 
32
14
  const getErrorMessage = (error: unknown) => {
33
15
  if (error instanceof Error) {
@@ -39,29 +21,8 @@ const getErrorMessage = (error: unknown) => {
39
21
 
40
22
  export {
41
23
  getErrorMessage,
42
- lik,
43
24
  qenv,
44
- smartarchive,
45
- smartarray,
46
- smartbrowser,
47
- smartdb,
48
- smartdata,
49
25
  smartdelay,
50
- smartfile,
51
- smartfileFactory,
52
- smartfs,
53
- smartlog,
54
26
  smartpath,
55
- smartpromise,
56
27
  smartrequest,
57
- smartstream,
58
- smartunique,
59
- smartxml,
60
- }
61
-
62
- // @tsclass scope
63
- import * as tsclass from '@tsclass/tsclass';
64
-
65
- export {
66
- tsclass,
67
28
  }
@@ -1,38 +0,0 @@
1
- import * as plugins from './plugins.js';
2
- export declare class BusinessRecord extends plugins.smartdata.SmartDataDbDoc<BusinessRecord, BusinessRecord> {
3
- static getByGermanParsedRegistration: (parsedGermanRegistrationArg: BusinessRecord["data"]["germanParsedRegistration"]) => Promise<BusinessRecord>;
4
- id: string;
5
- data: {
6
- name?: string;
7
- startDate?: string;
8
- endDate?: string;
9
- status?: 'active' | 'liquidating' | 'closed';
10
- address?: string;
11
- postalCode?: string;
12
- city?: string;
13
- country?: string;
14
- phone?: string;
15
- fax?: string;
16
- email?: string;
17
- website?: string;
18
- businessType?: string;
19
- registrationId?: string;
20
- germanParsedRegistration?: {
21
- court?: string;
22
- type?: 'HRA' | 'HRB' | 'GnR' | 'PR' | 'VR' | 'GsR';
23
- number?: string;
24
- };
25
- legalForm?: 'GmbH' | 'GmbH & Co. KG' | 'AG' | 'LLC' | 'LLP' | 'GmbH & Co. KGaA' | 'GmbH & Co. KGaA, LLC';
26
- managingDirectors?: string[];
27
- boardOfDirectors?: string[];
28
- supervisoryBoard?: string[];
29
- foundingDate?: string;
30
- capital?: string;
31
- purpose?: string;
32
- lastUpdate?: string;
33
- };
34
- /**
35
- * validates the record against the Handelregister.
36
- */
37
- validate(): Promise<void>;
38
- }
@@ -1,90 +0,0 @@
1
- var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
- function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
- var _, done = false;
7
- for (var i = decorators.length - 1; i >= 0; i--) {
8
- var context = {};
9
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
- context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
- if (kind === "accessor") {
14
- if (result === void 0) continue;
15
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
- if (_ = accept(result.get)) descriptor.get = _;
17
- if (_ = accept(result.set)) descriptor.set = _;
18
- if (_ = accept(result.init)) initializers.unshift(_);
19
- }
20
- else if (_ = accept(result)) {
21
- if (kind === "field") initializers.unshift(_);
22
- else descriptor[key] = _;
23
- }
24
- }
25
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
- done = true;
27
- };
28
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
- var useValue = arguments.length > 2;
30
- for (var i = 0; i < initializers.length; i++) {
31
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
- }
33
- return useValue ? value : void 0;
34
- };
35
- import * as plugins from './plugins.js';
36
- let BusinessRecord = (() => {
37
- let _classDecorators = [plugins.smartdata.Manager()];
38
- let _classDescriptor;
39
- let _classExtraInitializers = [];
40
- let _classThis;
41
- let _classSuper = plugins.smartdata.SmartDataDbDoc;
42
- let _id_decorators;
43
- let _id_initializers = [];
44
- let _id_extraInitializers = [];
45
- let _data_decorators;
46
- let _data_initializers = [];
47
- let _data_extraInitializers = [];
48
- var BusinessRecord = class extends _classSuper {
49
- static { _classThis = this; }
50
- static {
51
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
52
- _id_decorators = [plugins.smartdata.unI()];
53
- _data_decorators = [plugins.smartdata.svDb()];
54
- __esDecorate(null, null, _id_decorators, { kind: "field", name: "id", static: false, private: false, access: { has: obj => "id" in obj, get: obj => obj.id, set: (obj, value) => { obj.id = value; } }, metadata: _metadata }, _id_initializers, _id_extraInitializers);
55
- __esDecorate(null, null, _data_decorators, { kind: "field", name: "data", static: false, private: false, access: { has: obj => "data" in obj, get: obj => obj.data, set: (obj, value) => { obj.data = value; } }, metadata: _metadata }, _data_initializers, _data_extraInitializers);
56
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
57
- BusinessRecord = _classThis = _classDescriptor.value;
58
- if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
59
- }
60
- // STATIC
61
- static getByGermanParsedRegistration = async (parsedGermanRegistrationArg) => {
62
- const businessRecords = await BusinessRecord.getInstance({
63
- data: {
64
- germanParsedRegistration: parsedGermanRegistrationArg,
65
- }
66
- });
67
- return businessRecords;
68
- };
69
- // INSTANCE
70
- id = __runInitializers(this, _id_initializers, void 0);
71
- data = (__runInitializers(this, _id_extraInitializers), __runInitializers(this, _data_initializers, {}));
72
- /**
73
- * validates the record against the Handelregister.
74
- */
75
- async validate() {
76
- if (!this.data.name)
77
- throw new Error('Name is required.');
78
- }
79
- constructor() {
80
- super(...arguments);
81
- __runInitializers(this, _data_extraInitializers);
82
- }
83
- static {
84
- __runInitializers(_classThis, _classExtraInitializers);
85
- }
86
- };
87
- return BusinessRecord = _classThis;
88
- })();
89
- export { BusinessRecord };
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5idXNpbmVzc3JlY29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NsYXNzZXMuYnVzaW5lc3NyZWNvcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0lBRzNCLGNBQWM7NEJBRDFCLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFOzs7O3NCQUNRLE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBYzs7Ozs7Ozs4QkFBeEMsU0FBUSxXQUduQzs7Ozs4QkFhRSxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQ0FHdkIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7WUFGekIsd0pBQUEsRUFBRSw2QkFBRixFQUFFLCtFQUFVO1lBR1osOEpBQUEsSUFBSSw2QkFBSixJQUFJLG1GQW1DRztZQXZEVCw2S0ErREM7Ozs7UUEzREMsU0FBUztRQUNGLE1BQU0sQ0FBQyw2QkFBNkIsR0FBRyxLQUFLLEVBQUUsMkJBQStFLEVBQUUsRUFBRTtZQUN0SSxNQUFNLGVBQWUsR0FBRyxNQUFNLGNBQWMsQ0FBQyxXQUFXLENBQUM7Z0JBQ3ZELElBQUksRUFBRTtvQkFDSix3QkFBd0IsRUFBRSwyQkFBMkI7aUJBQ3REO2FBQ0YsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxlQUFlLENBQUM7UUFDekIsQ0FBQyxDQUFDO1FBR0YsV0FBVztRQUVYLEVBQUUscURBQVU7UUFHWixJQUFJLGdHQW1DQSxFQUFFLEdBQUM7UUFFUDs7V0FFRztRQUNJLEtBQUssQ0FBQyxRQUFRO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzVELENBQUM7Ozs7OztZQTlEVSx1REFBYzs7Ozs7U0FBZCxjQUFjIn0=
@@ -1,134 +0,0 @@
1
- import type { BusinessRecord } from './classes.businessrecord.js';
2
- import type { OpenData } from './classes.main.opendata.js';
3
- import * as plugins from './plugins.js';
4
- /**
5
- * the HandlesRegister exposed as a class
6
- */
7
- export declare class HandelsRegister {
8
- private openDataRef;
9
- private asyncExecutionStack;
10
- private downloadDir;
11
- private uniqueDowloadFolder;
12
- smartbrowserInstance: plugins.smartbrowser.SmartBrowser;
13
- constructor(openDataRef: OpenData, downloadDirArg: string);
14
- private resetDownloadFolder;
15
- private waitForDownloadedFile;
16
- start(): Promise<void>;
17
- stop(): Promise<void>;
18
- /**
19
- * Creates a new page and configures it to allow file downloads
20
- * to a predefined path.
21
- */
22
- getNewPage: () => Promise<plugins.smartbrowser.smartpuppeteer.puppeteer.Page>;
23
- private navigateToPage;
24
- private waitForResults;
25
- private clickFindButton;
26
- private downloadFile;
27
- /**
28
- * Helper method to parse the German registration string
29
- */
30
- private parseGermanRegistration;
31
- /**
32
- * Search for a company by name and return basic info
33
- */
34
- searchCompany(companyNameArg: string, resultsLimitArg?: number): Promise<{
35
- name?: string;
36
- startDate?: string;
37
- endDate?: string;
38
- status?: "active" | "liquidating" | "closed";
39
- address?: string;
40
- postalCode?: string;
41
- city?: string;
42
- country?: string;
43
- phone?: string;
44
- fax?: string;
45
- email?: string;
46
- website?: string;
47
- businessType?: string;
48
- registrationId?: string;
49
- germanParsedRegistration?: {
50
- court?: string;
51
- type?: "HRA" | "HRB" | "GnR" | "PR" | "VR" | "GsR";
52
- number?: string;
53
- };
54
- legalForm?: "GmbH" | "GmbH & Co. KG" | "AG" | "LLC" | "LLP" | "GmbH & Co. KGaA" | "GmbH & Co. KGaA, LLC";
55
- managingDirectors?: string[];
56
- boardOfDirectors?: string[];
57
- supervisoryBoard?: string[];
58
- foundingDate?: string;
59
- capital?: string;
60
- purpose?: string;
61
- lastUpdate?: string;
62
- }[]>;
63
- /**
64
- * Search for a specific company (known register type/number/court),
65
- * then click on an element that triggers a file download.
66
- */
67
- getSpecificCompany(companyArg: BusinessRecord['data']['germanParsedRegistration']): Promise<{
68
- businessRecords: {
69
- name?: string;
70
- startDate?: string;
71
- endDate?: string;
72
- status?: "active" | "liquidating" | "closed";
73
- address?: string;
74
- postalCode?: string;
75
- city?: string;
76
- country?: string;
77
- phone?: string;
78
- fax?: string;
79
- email?: string;
80
- website?: string;
81
- businessType?: string;
82
- registrationId?: string;
83
- germanParsedRegistration?: {
84
- court?: string;
85
- type?: "HRA" | "HRB" | "GnR" | "PR" | "VR" | "GsR";
86
- number?: string;
87
- };
88
- legalForm?: "GmbH" | "GmbH & Co. KG" | "AG" | "LLC" | "LLP" | "GmbH & Co. KGaA" | "GmbH & Co. KGaA, LLC";
89
- managingDirectors?: string[];
90
- boardOfDirectors?: string[];
91
- supervisoryBoard?: string[];
92
- foundingDate?: string;
93
- capital?: string;
94
- purpose?: string;
95
- lastUpdate?: string;
96
- }[];
97
- files: plugins.smartfile.SmartFile[];
98
- }>;
99
- /**
100
- * get specific company by full name
101
- */
102
- getSpecificCompanyByName(companyNameArg: string): Promise<{
103
- businessRecords: {
104
- name?: string;
105
- startDate?: string;
106
- endDate?: string;
107
- status?: "active" | "liquidating" | "closed";
108
- address?: string;
109
- postalCode?: string;
110
- city?: string;
111
- country?: string;
112
- phone?: string;
113
- fax?: string;
114
- email?: string;
115
- website?: string;
116
- businessType?: string;
117
- registrationId?: string;
118
- germanParsedRegistration?: {
119
- court?: string;
120
- type?: "HRA" | "HRB" | "GnR" | "PR" | "VR" | "GsR";
121
- number?: string;
122
- };
123
- legalForm?: "GmbH" | "GmbH & Co. KG" | "AG" | "LLC" | "LLP" | "GmbH & Co. KGaA" | "GmbH & Co. KGaA, LLC";
124
- managingDirectors?: string[];
125
- boardOfDirectors?: string[];
126
- supervisoryBoard?: string[];
127
- foundingDate?: string;
128
- capital?: string;
129
- purpose?: string;
130
- lastUpdate?: string;
131
- }[];
132
- files: plugins.smartfile.SmartFile[];
133
- }>;
134
- }