cry-sloimena 1.0.6 → 1.0.9

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 (96) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/{0-file-locations.d.ts → 0-file-locations.d.mts} +1 -1
  3. package/dist/{0-file-locations.js → 0-file-locations.mjs} +1 -1
  4. package/dist/data/{firmeDb.d.ts → firmeDb.d.mts} +1 -1
  5. package/dist/data/{imenaFirm.js → imenaFirm.mjs} +1 -1
  6. package/dist/index.d.mts +7 -0
  7. package/dist/index.mjs +7 -0
  8. package/dist/initializeData/{1-parse-opsiprs-csv.js → 1-parse-opsiprs-csv.mjs} +17 -15
  9. package/dist/{izlusci.d.ts → izlusci.d.mts} +1 -1
  10. package/dist/{izlusci.js → izlusci.mjs} +11 -3
  11. package/dist/{poisciFirme.d.ts → poisciFirme.d.mts} +1 -1
  12. package/dist/{poisciFirme.js → poisciFirme.mjs} +7 -7
  13. package/dist/runtime/izlusci.d.mts +2 -0
  14. package/dist/runtime/izlusci.mjs +188 -0
  15. package/dist/runtime/urediImePriimek.d.mts +2 -0
  16. package/dist/runtime/urediImePriimek.mjs +27 -0
  17. package/dist/test/{imena.test.js → imena.test.mjs} +1 -1
  18. package/dist/types/{PravnaOsebaNormalised.d.ts → PravnaOsebaNormalised.d.mts} +1 -1
  19. package/dist/{urediImePriimek.js → urediImePriimek.mjs} +4 -4
  20. package/dist/utils/{LegalFormSuffixes.js → LegalFormSuffixes.mjs} +1 -1
  21. package/dist/utils/{ObjectSortedListsMapper.js → ObjectSortedListsMapper.mjs} +1 -1
  22. package/dist/utils/{normalizeListOfNames.js → normalizeListOfNames.mjs} +1 -1
  23. package/dist/utils/{normalizeListOfStrings.js → normalizeListOfStrings.mjs} +1 -1
  24. package/dist/utils/{normalizeStringForSearch.js → normalizeStringForSearch.mjs} +2 -2
  25. package/dist/utils/{normalizirano.js → normalizirano.mjs} +4 -4
  26. package/package.json +11 -8
  27. package/src/0-file-locations.mts +3 -0
  28. package/src/data/{firmeDb.ts → firmeDb.mts} +1 -1
  29. package/src/data/imenaFirm.mts +5 -0
  30. package/src/index.mts +7 -0
  31. package/src/initializeData/{1-parse-opsiprs-csv.ts → 1-parse-opsiprs-csv.mts} +20 -16
  32. package/src/{izlusci.ts → izlusci.mts} +13 -7
  33. package/src/{poisciFirme.ts → poisciFirme.mts} +9 -9
  34. package/src/runtime/izlusci.mts +208 -0
  35. package/src/runtime/urediImePriimek.mts +33 -0
  36. package/src/test/{imena.test.ts → imena.test.mts} +1 -1
  37. package/src/types/{PravnaOsebaNormalised.ts → PravnaOsebaNormalised.mts} +1 -1
  38. package/src/{urediImePriimek.ts → urediImePriimek.mts} +4 -4
  39. package/src/utils/{LegalFormSuffixes.ts → LegalFormSuffixes.mts} +1 -1
  40. package/src/utils/{ObjectSortedListsMapper.ts → ObjectSortedListsMapper.mts} +1 -1
  41. package/src/utils/{normalizeListOfNames.ts → normalizeListOfNames.mts} +1 -1
  42. package/src/utils/{normalizeListOfStrings.ts → normalizeListOfStrings.mts} +1 -1
  43. package/src/utils/{normalizeStringForSearch.ts → normalizeStringForSearch.mts} +2 -2
  44. package/src/utils/{normalizirano.ts → normalizirano.mts} +4 -4
  45. package/dist/index.d.ts +0 -7
  46. package/dist/index.js +0 -7
  47. package/src/0-file-locations.ts +0 -3
  48. package/src/data/firmeDb.js +0 -7
  49. package/src/data/imenaFirm.ts +0 -5
  50. package/src/index.ts +0 -7
  51. package/src/types/PravnaOseba.js +0 -2
  52. /package/dist/data/{firmeDb.js → firmeDb.mjs} +0 -0
  53. /package/dist/data/{imenaFirm.d.ts → imenaFirm.d.mts} +0 -0
  54. /package/dist/data/{imenaM.d.ts → imenaM.d.mts} +0 -0
  55. /package/dist/data/{imenaM.js → imenaM.mjs} +0 -0
  56. /package/dist/data/{imenaZ.d.ts → imenaZ.d.mts} +0 -0
  57. /package/dist/data/{imenaZ.js → imenaZ.mjs} +0 -0
  58. /package/dist/data/{priimki.d.ts → priimki.d.mts} +0 -0
  59. /package/dist/data/{priimki.js → priimki.mjs} +0 -0
  60. /package/dist/{davcnaZaMaticno.d.ts → davcnaZaMaticno.d.mts} +0 -0
  61. /package/dist/{davcnaZaMaticno.js → davcnaZaMaticno.mjs} +0 -0
  62. /package/dist/initializeData/{1-parse-opsiprs-csv.d.ts → 1-parse-opsiprs-csv.d.mts} +0 -0
  63. /package/dist/test/{imena.test.d.ts → imena.test.d.mts} +0 -0
  64. /package/dist/types/{PravnaOseba.d.ts → PravnaOseba.d.mts} +0 -0
  65. /package/dist/types/{PravnaOseba.js → PravnaOseba.mjs} +0 -0
  66. /package/dist/types/{PravnaOsebaNormalised.js → PravnaOsebaNormalised.mjs} +0 -0
  67. /package/dist/{urediImePriimek.d.ts → urediImePriimek.d.mts} +0 -0
  68. /package/dist/utils/{LegalFormSuffixes.d.ts → LegalFormSuffixes.d.mts} +0 -0
  69. /package/dist/utils/{ObjectSortedListsMapper.d.ts → ObjectSortedListsMapper.d.mts} +0 -0
  70. /package/dist/utils/{SortedStringListMapper.d.ts → SortedStringListMapper.d.mts} +0 -0
  71. /package/dist/utils/{SortedStringListMapper.js → SortedStringListMapper.mjs} +0 -0
  72. /package/dist/utils/{WordsToObjectMapper.d.ts → WordsToObjectMapper.d.mts} +0 -0
  73. /package/dist/utils/{WordsToObjectMapper.js → WordsToObjectMapper.mjs} +0 -0
  74. /package/dist/utils/{binarySearch.d.ts → binarySearch.d.mts} +0 -0
  75. /package/dist/utils/{binarySearch.js → binarySearch.mjs} +0 -0
  76. /package/dist/utils/{findAny.d.ts → findAny.d.mts} +0 -0
  77. /package/dist/utils/{findAny.js → findAny.mjs} +0 -0
  78. /package/dist/utils/{normalizeListOfNames.d.ts → normalizeListOfNames.d.mts} +0 -0
  79. /package/dist/utils/{normalizeListOfStrings.d.ts → normalizeListOfStrings.d.mts} +0 -0
  80. /package/dist/utils/{normalizeStringForSearch.d.ts → normalizeStringForSearch.d.mts} +0 -0
  81. /package/dist/utils/{normalizeWordOrSeparator.d.ts → normalizeWordOrSeparator.d.mts} +0 -0
  82. /package/dist/utils/{normalizeWordOrSeparator.js → normalizeWordOrSeparator.mjs} +0 -0
  83. /package/dist/utils/{normalizirano.d.ts → normalizirano.d.mts} +0 -0
  84. /package/dist/utils/{tokenizeIme.d.ts → tokenizeIme.d.mts} +0 -0
  85. /package/dist/utils/{tokenizeIme.js → tokenizeIme.mjs} +0 -0
  86. /package/src/data/{imenaM.ts → imenaM.mts} +0 -0
  87. /package/src/data/{imenaZ.ts → imenaZ.mts} +0 -0
  88. /package/src/data/{priimki.ts → priimki.mts} +0 -0
  89. /package/src/{davcnaZaMaticno.ts → davcnaZaMaticno.mts} +0 -0
  90. /package/src/types/{PravnaOseba.ts → PravnaOseba.mts} +0 -0
  91. /package/src/utils/{SortedStringListMapper.ts → SortedStringListMapper.mts} +0 -0
  92. /package/src/utils/{WordsToObjectMapper.ts → WordsToObjectMapper.mts} +0 -0
  93. /package/src/utils/{binarySearch.ts → binarySearch.mts} +0 -0
  94. /package/src/utils/{findAny.ts → findAny.mts} +0 -0
  95. /package/src/utils/{normalizeWordOrSeparator.ts → normalizeWordOrSeparator.mts} +0 -0
  96. /package/src/utils/{tokenizeIme.ts → tokenizeIme.mts} +0 -0
@@ -0,0 +1,208 @@
1
+ #!/usr/bin/env bun
2
+ import { createInterface } from 'readline';
3
+ import { izlusci, IzlusciOptions } from '../izlusci.mjs';
4
+
5
+ const LIMIT = 10;
6
+
7
+ function printUsage() {
8
+ console.log(`
9
+ Uporaba: izlusciRuntime.mts [opcije] [iskalni_niz]
10
+
11
+ Opcije:
12
+ -f vraca samo firme
13
+ -i vraca samo imena
14
+ -o vraca oboje (privzeto)
15
+ -1 vrne samo en rezultat
16
+ -n vrne vec rezultatov
17
+ -d dodaj podatke firme
18
+ -b beautify ime (privzeto: true)
19
+ -h prikazi pomoc
20
+
21
+ Primeri:
22
+ izlusciRuntime.mts "Janez Novak"
23
+ izlusciRuntime.mts -i "Janez Novak"
24
+ izlusciRuntime.mts -f -n "Novak"
25
+ `);
26
+ }
27
+
28
+ function printInteractiveHelp() {
29
+ console.log(`
30
+ Interaktivni nacin - ukazi za spremembo opcij:
31
+ f - vraca samo firme
32
+ i - vraca samo imena
33
+ o - vraca oboje (privzeto)
34
+ 1 - vrne samo en rezultat
35
+ n - vrne vec rezultatov
36
+ d - dodaj/odstrani podatke firme
37
+ b - beautify ime
38
+ q - izhod
39
+ ? - pomoc
40
+
41
+ Vnesite ime ali firmo za iskanje.
42
+ `);
43
+ }
44
+
45
+ function printCurrentOptions(opts: IzlusciOptions) {
46
+ const vrni = opts.vrni || 'oboje';
47
+ const vecRezultatov = (opts.limit||1)>1 ? 'da' : 'ne';
48
+ const beautify = opts.beautify !== false ? 'da' : 'ne';
49
+ console.log(`[Trenutne opcije: vrni=${vrni}, vec rezultatov=${vecRezultatov}, beautify=${beautify}]`);
50
+ console.log(``);
51
+ }
52
+
53
+ function parseArgs(args: string[]): { opts: IzlusciOptions; query: string | null; showHelp: boolean } {
54
+ const opts: IzlusciOptions = {
55
+ vrni: 'oboje',
56
+ limit: LIMIT,
57
+ beautify: true
58
+ };
59
+ let query: string | null = null;
60
+ let showHelp = false;
61
+
62
+ for (let i = 0; i < args.length; i++) {
63
+ const arg = args[i];
64
+
65
+ if (arg === '-f') {
66
+ opts.vrni = 'firme';
67
+ } else if (arg === '-i') {
68
+ opts.vrni = 'imena';
69
+ } else if (arg === '-o') {
70
+ opts.vrni = 'oboje';
71
+ } else if (arg === '-1') {
72
+ opts.limit = 1;
73
+ } else if (arg === '-n') {
74
+ opts.limit = LIMIT;
75
+ } else if (arg === '-d') {
76
+ opts.beautify = false;
77
+ } else if (arg === '-h' || arg === '--help') {
78
+ showHelp = true;
79
+ } else if (!arg.startsWith('-')) {
80
+ query = arg;
81
+ }
82
+ }
83
+
84
+ return { opts, query, showHelp };
85
+ }
86
+
87
+ async function main() {
88
+ const args = process.argv.slice(2);
89
+ const { opts, query, showHelp } = parseArgs(args);
90
+
91
+ if (showHelp) {
92
+ printUsage();
93
+ return;
94
+ }
95
+
96
+ // Non-interactive mode if query provided
97
+ if (query && query.trim().length > 0) {
98
+ const result = izlusci(query, opts);
99
+ if (typeof result === 'string') {
100
+ console.log(result);
101
+ } else {
102
+ console.log(JSON.stringify(result, null, 2));
103
+ }
104
+ return;
105
+ }
106
+
107
+ // Interactive mode
108
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
109
+
110
+ printInteractiveHelp();
111
+ printCurrentOptions(opts);
112
+
113
+ const prompt = () => {
114
+ rl.question('> ', (input) => {
115
+ const trimmed = input.trim();
116
+
117
+ if (trimmed === 'q' || trimmed === 'quit' || trimmed === 'exit') {
118
+ rl.close();
119
+ return;
120
+ }
121
+
122
+ // Check for option commands
123
+ if (trimmed === 'f') {
124
+ opts.vrni = 'firme';
125
+ console.log('Nastavljeno: vraca samo firme');
126
+ printCurrentOptions(opts);
127
+ prompt();
128
+ return;
129
+ }
130
+
131
+ if (trimmed === 'i') {
132
+ opts.vrni = 'imena';
133
+ console.log('Nastavljeno: vraca samo imena');
134
+ printCurrentOptions(opts);
135
+ prompt();
136
+ return;
137
+ }
138
+
139
+ if (trimmed === 'o') {
140
+ opts.vrni = 'oboje';
141
+ console.log('Nastavljeno: vraca oboje');
142
+ printCurrentOptions(opts);
143
+ prompt();
144
+ return;
145
+ }
146
+
147
+ if (trimmed === '1') {
148
+ opts.limit = 1;
149
+ console.log('Nastavljeno: vrne samo en rezultat');
150
+ printCurrentOptions(opts);
151
+ prompt();
152
+ return;
153
+ }
154
+
155
+ if (trimmed === 'n') {
156
+ opts.limit = LIMIT;
157
+ console.log('Nastavljeno: vrne vec rezultatov');
158
+ printCurrentOptions(opts);
159
+ prompt();
160
+ return;
161
+ }
162
+
163
+ if (trimmed === 'd') {
164
+ printCurrentOptions(opts);
165
+ prompt();
166
+ return;
167
+ }
168
+
169
+ if (trimmed === 'b') {
170
+ opts.beautify = !opts.beautify;
171
+ console.log(`Nastavljeno: beautify ${opts.beautify ? 'vklopljen' : 'izklopljen'}`);
172
+ printCurrentOptions(opts);
173
+ prompt();
174
+ return;
175
+ }
176
+
177
+ if (trimmed === '?' || trimmed === 'help') {
178
+ printInteractiveHelp();
179
+ printCurrentOptions(opts);
180
+ prompt();
181
+ return;
182
+ }
183
+
184
+ if (trimmed.length === 0) {
185
+ prompt();
186
+ return;
187
+ }
188
+
189
+ // Search
190
+ const result = izlusci(trimmed, opts);
191
+
192
+ if (typeof result === 'string') {
193
+ console.log(result);
194
+ } else {
195
+ console.log(JSON.stringify(result, null, 2));
196
+ }
197
+
198
+ prompt();
199
+ });
200
+ };
201
+
202
+ prompt();
203
+ }
204
+
205
+ main().catch(err => {
206
+ console.error('Napaka:', err);
207
+ process.exit(1);
208
+ });
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env bun
2
+ import { createInterface } from 'readline';
3
+ import { urediImePriimek } from '../urediImePriimek.mjs';
4
+
5
+ async function ask(prompt: string): Promise<string> {
6
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
7
+ return await new Promise(resolve => {
8
+ rl.question(prompt, answer => {
9
+ rl.close();
10
+ resolve(answer);
11
+ });
12
+ });
13
+ }
14
+
15
+ async function main() {
16
+ const arg = process.argv[2];
17
+ const input = arg && String(arg).trim().length > 0 ? String(arg) : await ask('Vnesite ime (ime in/ali priimek): ');
18
+
19
+ const result = urediImePriimek(input);
20
+
21
+ if (typeof result === 'string') {
22
+ console.log(result);
23
+ return;
24
+ }
25
+
26
+ // pretty-print object result
27
+ console.log(JSON.stringify(result, null, 2));
28
+ }
29
+
30
+ main().catch(err => {
31
+ console.error('Napaka:', err);
32
+ process.exit(1);
33
+ });
@@ -1,5 +1,5 @@
1
1
  import { expect } from 'chai';
2
- import { urediImePriimek } from '../urediImePriimek.js';
2
+ import { urediImePriimek } from '../urediImePriimek.mjs';
3
3
 
4
4
  describe('urediImePriimek', () => {
5
5
  it('should parse "Jurij Tomaž"', () => {
@@ -1,4 +1,4 @@
1
- import { PravnaOseba } from "./PravnaOseba.js";
1
+ import { PravnaOseba } from "./PravnaOseba.mjs";
2
2
 
3
3
  export interface PravnaOsebaNormalised extends Omit<PravnaOseba,"firma"|"oblika"|"ulica"|"posta"> {
4
4
  _firma: number
@@ -1,7 +1,7 @@
1
- import { binarySearch } from './utils/binarySearch.js';
2
- import { normalizeWordOrSeparator } from './utils/normalizeWordOrSeparator.js';
3
- import { getSortedFemaleNames, getSortedMaleNames, getSortedSurnames } from './utils/normalizirano.js';
4
- import { tokenizeIme } from './utils/tokenizeIme.js';
1
+ import { binarySearch } from './utils/binarySearch.mjs';
2
+ import { normalizeWordOrSeparator } from './utils/normalizeWordOrSeparator.mjs';
3
+ import { getSortedFemaleNames, getSortedMaleNames, getSortedSurnames } from './utils/normalizirano.mjs';
4
+ import { tokenizeIme } from './utils/tokenizeIme.mjs';
5
5
 
6
6
  type PatternChar = "" | "s" | "f" | "F" | "m" | "M" | "b";
7
7
 
@@ -1,4 +1,4 @@
1
- import { normalizeWordOrSeparator } from "./normalizeWordOrSeparator.js";
1
+ import { normalizeWordOrSeparator } from "./normalizeWordOrSeparator.mjs";
2
2
 
3
3
  export const LegalFormSuffixes = ['d.o.o.', 'd.d.', 's.p.', 'z.o.o.', 'k.d.'];
4
4
  export const LegalFormSuffixesNormalized = LegalFormSuffixes.map(l => normalizeWordOrSeparator(l, false));
@@ -1,5 +1,5 @@
1
1
 
2
- import { SortedStringListMapper } from "./SortedStringListMapper.js"
2
+ import { SortedStringListMapper } from "./SortedStringListMapper.mjs"
3
3
 
4
4
  /**
5
5
  * Creates string mappers for a list of objects.
@@ -1,4 +1,4 @@
1
- import { normalizeWordOrSeparator } from './normalizeWordOrSeparator.js';
1
+ import { normalizeWordOrSeparator } from './normalizeWordOrSeparator.mjs';
2
2
 
3
3
  /**
4
4
  * Return sorted deduplicated list of normalized words
@@ -1,4 +1,4 @@
1
- import { normalizeWordOrSeparator } from "./normalizeWordOrSeparator.js";
1
+ import { normalizeWordOrSeparator } from "./normalizeWordOrSeparator.mjs";
2
2
 
3
3
  /**
4
4
  * Return sorted deduplicated list of [normalised_name, original_names_sorted[]]
@@ -1,5 +1,5 @@
1
- import { normalizeListOfNames } from "./normalizeListOfNames.js";
2
- import { LegalFormSuffixesNormalized } from "./LegalFormSuffixes.js";
1
+ import { normalizeListOfNames } from "./normalizeListOfNames.mjs";
2
+ import { LegalFormSuffixesNormalized } from "./LegalFormSuffixes.mjs";
3
3
 
4
4
  const MIN_WORD_NAME_FOR_SEARCH = 4;
5
5
 
@@ -3,10 +3,10 @@
3
3
  * Uses lazy initialization and binary search for performance.
4
4
  */
5
5
 
6
- import { imenaM } from '../data/imenaM.js';
7
- import { imenaZ } from '../data/imenaZ.js';
8
- import { priimki } from '../data/priimki.js';
9
- import { normalizeListOfNames } from './normalizeListOfNames.js';
6
+ import { imenaM } from '../data/imenaM.mjs';
7
+ import { imenaZ } from '../data/imenaZ.mjs';
8
+ import { priimki } from '../data/priimki.mjs';
9
+ import { normalizeListOfNames } from './normalizeListOfNames.mjs';
10
10
 
11
11
  // ============================================================================
12
12
  // Lazy-initialized pre-normalized sorted arrays for binary search
package/dist/index.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export { imenaM } from './data/imenaM.js';
2
- export { imenaZ } from './data/imenaZ.js';
3
- export { priimki } from './data/priimki.js';
4
- export { izlusci, type IzlusciResult, type IzlusciOptions, type OsebaResult } from './izlusci.js';
5
- export { urediImePriimek } from './urediImePriimek.js';
6
- export { poisciFirme, type FirmaResult, type PoisciFirmoOptions } from './poisciFirme.js';
7
- export { davcnaZaMaticno } from './davcnaZaMaticno.js';
package/dist/index.js DELETED
@@ -1,7 +0,0 @@
1
- export { imenaM } from './data/imenaM.js';
2
- export { imenaZ } from './data/imenaZ.js';
3
- export { priimki } from './data/priimki.js';
4
- export { izlusci } from './izlusci.js';
5
- export { urediImePriimek } from './urediImePriimek.js';
6
- export { poisciFirme } from './poisciFirme.js';
7
- export { davcnaZaMaticno } from './davcnaZaMaticno.js';
@@ -1,3 +0,0 @@
1
- export const OUT_NORM_FIRME_DB_MTS = './data/firmeDb.json'
2
- export const IN_OPSI_PRS_CSV = './vhodni-podatki/opsiprs.csv';
3
- export const DOLZINA_MATICNE = 10;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.firmeDb = void 0;
4
- var firmeDb_json_1 = require("../../data/firmeDb.json");
5
- with ({ type: "json" })
6
- ;
7
- exports.firmeDb = firmeDb_json_1.default;
@@ -1,5 +0,0 @@
1
- import { firmeDb } from "./firmeDb.js";
2
-
3
- console.warn("WARNING: Large amount of RAM allocated for poisciFirme.");
4
-
5
- export default firmeDb.sortedArrays.firma;
package/src/index.ts DELETED
@@ -1,7 +0,0 @@
1
- export { imenaM } from './data/imenaM.js';
2
- export { imenaZ } from './data/imenaZ.js';
3
- export { priimki } from './data/priimki.js';
4
- export { izlusci, type IzlusciResult, type IzlusciOptions, type OsebaResult } from './izlusci.js';
5
- export { urediImePriimek } from './urediImePriimek.js';
6
- export { poisciFirme, type FirmaResult, type PoisciFirmoOptions } from './poisciFirme.js';
7
- export { davcnaZaMaticno } from './davcnaZaMaticno.js';
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes