@uql/core 3.1.0 → 3.1.2

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 (170) hide show
  1. package/CHANGELOG.md +134 -176
  2. package/README.md +413 -0
  3. package/package.json +31 -26
  4. package/dist/package.json +0 -131
  5. package/src/@types/index.d.ts +0 -1
  6. package/src/@types/jest.d.ts +0 -6
  7. package/src/browser/http/bus.spec.ts +0 -22
  8. package/src/browser/http/bus.ts +0 -17
  9. package/src/browser/http/http.spec.ts +0 -70
  10. package/src/browser/http/http.ts +0 -55
  11. package/src/browser/http/index.ts +0 -2
  12. package/src/browser/index.ts +0 -4
  13. package/src/browser/options.spec.ts +0 -37
  14. package/src/browser/options.ts +0 -18
  15. package/src/browser/querier/genericClientRepository.spec.ts +0 -105
  16. package/src/browser/querier/genericClientRepository.ts +0 -49
  17. package/src/browser/querier/httpQuerier.ts +0 -82
  18. package/src/browser/querier/index.ts +0 -3
  19. package/src/browser/querier/querier.util.spec.ts +0 -35
  20. package/src/browser/querier/querier.util.ts +0 -18
  21. package/src/browser/type/clientQuerier.ts +0 -45
  22. package/src/browser/type/clientQuerierPool.ts +0 -5
  23. package/src/browser/type/clientRepository.ts +0 -22
  24. package/src/browser/type/index.ts +0 -4
  25. package/src/browser/type/request.ts +0 -25
  26. package/src/dialect/abstractDialect.ts +0 -28
  27. package/src/dialect/abstractSqlDialect-spec.ts +0 -1309
  28. package/src/dialect/abstractSqlDialect.ts +0 -805
  29. package/src/dialect/index.ts +0 -3
  30. package/src/dialect/namingStrategy.spec.ts +0 -52
  31. package/src/dialect/queryContext.ts +0 -69
  32. package/src/entity/decorator/definition.spec.ts +0 -736
  33. package/src/entity/decorator/definition.ts +0 -265
  34. package/src/entity/decorator/entity.ts +0 -8
  35. package/src/entity/decorator/field.ts +0 -9
  36. package/src/entity/decorator/id.ts +0 -9
  37. package/src/entity/decorator/index.ts +0 -5
  38. package/src/entity/decorator/relation.spec.ts +0 -41
  39. package/src/entity/decorator/relation.ts +0 -34
  40. package/src/entity/index.ts +0 -1
  41. package/src/express/@types/express.d.ts +0 -8
  42. package/src/express/@types/index.d.ts +0 -1
  43. package/src/express/index.ts +0 -2
  44. package/src/express/querierMiddleware.ts +0 -217
  45. package/src/express/query.util.spec.ts +0 -40
  46. package/src/express/query.util.ts +0 -21
  47. package/src/index.ts +0 -9
  48. package/src/maria/index.ts +0 -3
  49. package/src/maria/mariaDialect.spec.ts +0 -207
  50. package/src/maria/mariaDialect.ts +0 -42
  51. package/src/maria/mariaQuerierPool.test.ts +0 -23
  52. package/src/maria/mariadbQuerier.test.ts +0 -23
  53. package/src/maria/mariadbQuerier.ts +0 -45
  54. package/src/maria/mariadbQuerierPool.ts +0 -21
  55. package/src/migrate/cli.ts +0 -301
  56. package/src/migrate/generator/index.ts +0 -4
  57. package/src/migrate/generator/mongoSchemaGenerator.spec.ts +0 -112
  58. package/src/migrate/generator/mongoSchemaGenerator.ts +0 -115
  59. package/src/migrate/generator/mysqlSchemaGenerator.spec.ts +0 -34
  60. package/src/migrate/generator/mysqlSchemaGenerator.ts +0 -92
  61. package/src/migrate/generator/postgresSchemaGenerator.spec.ts +0 -44
  62. package/src/migrate/generator/postgresSchemaGenerator.ts +0 -127
  63. package/src/migrate/generator/sqliteSchemaGenerator.spec.ts +0 -33
  64. package/src/migrate/generator/sqliteSchemaGenerator.ts +0 -81
  65. package/src/migrate/index.ts +0 -41
  66. package/src/migrate/introspection/index.ts +0 -4
  67. package/src/migrate/introspection/mongoIntrospector.spec.ts +0 -75
  68. package/src/migrate/introspection/mongoIntrospector.ts +0 -47
  69. package/src/migrate/introspection/mysqlIntrospector.spec.ts +0 -113
  70. package/src/migrate/introspection/mysqlIntrospector.ts +0 -278
  71. package/src/migrate/introspection/postgresIntrospector.spec.ts +0 -112
  72. package/src/migrate/introspection/postgresIntrospector.ts +0 -329
  73. package/src/migrate/introspection/sqliteIntrospector.spec.ts +0 -112
  74. package/src/migrate/introspection/sqliteIntrospector.ts +0 -296
  75. package/src/migrate/migrator-mongo.test.ts +0 -54
  76. package/src/migrate/migrator.spec.ts +0 -255
  77. package/src/migrate/migrator.test.ts +0 -94
  78. package/src/migrate/migrator.ts +0 -719
  79. package/src/migrate/namingStrategy.spec.ts +0 -22
  80. package/src/migrate/schemaGenerator-advanced.spec.ts +0 -138
  81. package/src/migrate/schemaGenerator.spec.ts +0 -190
  82. package/src/migrate/schemaGenerator.ts +0 -478
  83. package/src/migrate/storage/databaseStorage.spec.ts +0 -69
  84. package/src/migrate/storage/databaseStorage.ts +0 -100
  85. package/src/migrate/storage/index.ts +0 -2
  86. package/src/migrate/storage/jsonStorage.ts +0 -58
  87. package/src/migrate/type.ts +0 -1
  88. package/src/mongo/index.ts +0 -3
  89. package/src/mongo/mongoDialect.spec.ts +0 -251
  90. package/src/mongo/mongoDialect.ts +0 -238
  91. package/src/mongo/mongodbQuerier.test.ts +0 -45
  92. package/src/mongo/mongodbQuerier.ts +0 -256
  93. package/src/mongo/mongodbQuerierPool.test.ts +0 -25
  94. package/src/mongo/mongodbQuerierPool.ts +0 -24
  95. package/src/mysql/index.ts +0 -3
  96. package/src/mysql/mysql2Querier.test.ts +0 -20
  97. package/src/mysql/mysql2Querier.ts +0 -49
  98. package/src/mysql/mysql2QuerierPool.test.ts +0 -20
  99. package/src/mysql/mysql2QuerierPool.ts +0 -21
  100. package/src/mysql/mysqlDialect.spec.ts +0 -20
  101. package/src/mysql/mysqlDialect.ts +0 -16
  102. package/src/namingStrategy/defaultNamingStrategy.ts +0 -18
  103. package/src/namingStrategy/index.spec.ts +0 -36
  104. package/src/namingStrategy/index.ts +0 -2
  105. package/src/namingStrategy/snakeCaseNamingStrategy.ts +0 -15
  106. package/src/options.spec.ts +0 -41
  107. package/src/options.ts +0 -18
  108. package/src/postgres/index.ts +0 -3
  109. package/src/postgres/manual-types.d.ts +0 -4
  110. package/src/postgres/pgQuerier.test.ts +0 -25
  111. package/src/postgres/pgQuerier.ts +0 -45
  112. package/src/postgres/pgQuerierPool.test.ts +0 -28
  113. package/src/postgres/pgQuerierPool.ts +0 -21
  114. package/src/postgres/postgresDialect.spec.ts +0 -428
  115. package/src/postgres/postgresDialect.ts +0 -144
  116. package/src/querier/abstractQuerier-test.ts +0 -584
  117. package/src/querier/abstractQuerier.ts +0 -353
  118. package/src/querier/abstractQuerierPool-test.ts +0 -20
  119. package/src/querier/abstractQuerierPool.ts +0 -18
  120. package/src/querier/abstractSqlQuerier-spec.ts +0 -979
  121. package/src/querier/abstractSqlQuerier-test.ts +0 -21
  122. package/src/querier/abstractSqlQuerier.ts +0 -138
  123. package/src/querier/decorator/index.ts +0 -3
  124. package/src/querier/decorator/injectQuerier.spec.ts +0 -74
  125. package/src/querier/decorator/injectQuerier.ts +0 -45
  126. package/src/querier/decorator/serialized.spec.ts +0 -98
  127. package/src/querier/decorator/serialized.ts +0 -13
  128. package/src/querier/decorator/transactional.spec.ts +0 -240
  129. package/src/querier/decorator/transactional.ts +0 -56
  130. package/src/querier/index.ts +0 -4
  131. package/src/repository/genericRepository.spec.ts +0 -111
  132. package/src/repository/genericRepository.ts +0 -74
  133. package/src/repository/index.ts +0 -1
  134. package/src/sqlite/index.ts +0 -3
  135. package/src/sqlite/manual-types.d.ts +0 -4
  136. package/src/sqlite/sqliteDialect.spec.ts +0 -155
  137. package/src/sqlite/sqliteDialect.ts +0 -76
  138. package/src/sqlite/sqliteQuerier.spec.ts +0 -36
  139. package/src/sqlite/sqliteQuerier.test.ts +0 -21
  140. package/src/sqlite/sqliteQuerier.ts +0 -37
  141. package/src/sqlite/sqliteQuerierPool.test.ts +0 -12
  142. package/src/sqlite/sqliteQuerierPool.ts +0 -38
  143. package/src/test/entityMock.ts +0 -375
  144. package/src/test/index.ts +0 -3
  145. package/src/test/it.util.ts +0 -69
  146. package/src/test/spec.util.ts +0 -57
  147. package/src/type/entity.ts +0 -218
  148. package/src/type/index.ts +0 -9
  149. package/src/type/migration.ts +0 -241
  150. package/src/type/namingStrategy.ts +0 -17
  151. package/src/type/querier.ts +0 -143
  152. package/src/type/querierPool.ts +0 -26
  153. package/src/type/query.ts +0 -506
  154. package/src/type/repository.ts +0 -142
  155. package/src/type/universalQuerier.ts +0 -133
  156. package/src/type/utility.ts +0 -21
  157. package/src/util/dialect.util-extra.spec.ts +0 -96
  158. package/src/util/dialect.util.spec.ts +0 -23
  159. package/src/util/dialect.util.ts +0 -134
  160. package/src/util/index.ts +0 -5
  161. package/src/util/object.util.spec.ts +0 -29
  162. package/src/util/object.util.ts +0 -27
  163. package/src/util/raw.ts +0 -11
  164. package/src/util/sql.util-extra.spec.ts +0 -17
  165. package/src/util/sql.util.spec.ts +0 -208
  166. package/src/util/sql.util.ts +0 -104
  167. package/src/util/string.util.spec.ts +0 -46
  168. package/src/util/string.util.ts +0 -35
  169. package/tsconfig.build.json +0 -5
  170. package/tsconfig.json +0 -8
@@ -1,208 +0,0 @@
1
- import { expect, it } from 'bun:test';
2
- import type { Item, ItemAdjustment, Storehouse } from '../test/index.js';
3
- import type { QuerySortMap } from '../type/index.js';
4
- import { escapeSqlId, flatObject, obtainAttrsPaths, unflatObjects } from './sql.util.js';
5
-
6
- it('flatObject', () => {
7
- expect(flatObject(undefined)).toEqual({});
8
- expect(flatObject(null)).toEqual({});
9
- expect(flatObject({})).toEqual({});
10
- const sort: QuerySortMap<Item> = {
11
- name: 1,
12
- measureUnit: { name: -1, category: { creator: { profile: { picture: 1 } } } },
13
- };
14
- expect(flatObject(sort)).toEqual<Record<string, number>>({
15
- name: 1,
16
- 'measureUnit.name': -1,
17
- 'measureUnit.category.creator.profile.picture': 1,
18
- });
19
- });
20
-
21
- it('unflatObjects - empty', () => {
22
- const res1 = unflatObjects(undefined);
23
- expect(res1).toBe(undefined);
24
- const res2 = unflatObjects([]);
25
- expect(res2).toEqual([]);
26
- });
27
-
28
- it('unflatObjects', () => {
29
- const source: Storehouse[] = [
30
- {
31
- id: 1,
32
- name: 'Auxiliar',
33
- address: null,
34
- description: null,
35
- createdAt: 1,
36
- updatedAt: null,
37
- creatorId: 1,
38
- companyId: 1,
39
- },
40
- {
41
- id: 2,
42
- name: 'Principal',
43
- address: null,
44
- description: null,
45
- createdAt: 1,
46
- updatedAt: 1578759519913,
47
- creatorId: 1,
48
- companyId: 1,
49
- },
50
- ];
51
- const result = unflatObjects(source);
52
- const expected: Storehouse[] = [
53
- {
54
- id: 1,
55
- name: 'Auxiliar',
56
- address: null,
57
- description: null,
58
- createdAt: 1,
59
- updatedAt: null,
60
- creatorId: 1,
61
- companyId: 1,
62
- },
63
- {
64
- id: 2,
65
- name: 'Principal',
66
- address: null,
67
- description: null,
68
- createdAt: 1,
69
- updatedAt: 1578759519913,
70
- creatorId: 1,
71
- companyId: 1,
72
- },
73
- ];
74
- expect(result).toEqual(expected);
75
- });
76
-
77
- it('unflatObjects deep', () => {
78
- const source = [
79
- {
80
- id: 9,
81
- buyPrice: 1000,
82
- number: 10,
83
- 'item.id': 1,
84
- 'item.name': 'Arepa de Yuca y Queso x 6',
85
- 'item.createdAt': 1,
86
- 'item.buyLedgerAccount': 1,
87
- 'item.saleLedgerAccount': 1,
88
- 'item.tax': 1,
89
- 'item.companyId': 1,
90
- 'item.measureUnit': 1,
91
- 'item.inventoryable': 1,
92
- 'item.buyLedgerAccount.id': 1,
93
- 'item.buyLedgerAccount.name': 'Ventas',
94
- 'item.saleLedgerAccount.id': 1,
95
- 'item.saleLedgerAccount.name': 'Ventas',
96
- 'item.tax.id': 1,
97
- 'item.tax.name': 'IVA 0%',
98
- 'item.tax.percentage': 0,
99
- 'item.tax.category.pk': '1',
100
- 'item.tax.category.name': 'Impuestos',
101
- 'item.tax.category.description': 'Nacionales',
102
- 'item.measureUnit.id': 1,
103
- 'item.measureUnit.name': 'Unidad',
104
- 'item.creatorId': null as string,
105
- 'item.creator.id': null as string,
106
- 'item.creator.name': null as string,
107
- },
108
- {
109
- id: 15,
110
- buyPrice: 2000,
111
- number: 20,
112
- 'item.id': 2,
113
- 'item.name': 'Pony Malta 2 litros',
114
- 'item.createdAt': 1,
115
- 'item.companyId': 1,
116
- 'item.creatorId': 5,
117
- 'item.creator.id': 5,
118
- 'item.creator.name': 'Roshi Master',
119
- },
120
- ];
121
- const result = unflatObjects(source as Item[]);
122
- const expected: ItemAdjustment[] = [
123
- {
124
- id: 9,
125
- buyPrice: 1000,
126
- number: 10,
127
- item: {
128
- id: 1,
129
- name: 'Arepa de Yuca y Queso x 6',
130
- createdAt: 1,
131
- buyLedgerAccount: {
132
- id: 1,
133
- name: 'Ventas',
134
- },
135
- saleLedgerAccount: {
136
- id: 1,
137
- name: 'Ventas',
138
- },
139
- tax: {
140
- id: 1,
141
- name: 'IVA 0%',
142
- percentage: 0,
143
- category: {
144
- pk: '1',
145
- name: 'Impuestos',
146
- description: 'Nacionales',
147
- },
148
- },
149
- companyId: 1,
150
- measureUnit: {
151
- id: 1,
152
- name: 'Unidad',
153
- },
154
- inventoryable: 1 as any as boolean,
155
- },
156
- },
157
- {
158
- id: 15,
159
- buyPrice: 2000,
160
- number: 20,
161
- item: {
162
- id: 2,
163
- name: 'Pony Malta 2 litros',
164
- createdAt: 1,
165
- companyId: 1,
166
- creatorId: 5,
167
- creator: {
168
- id: 5,
169
- name: 'Roshi Master',
170
- },
171
- },
172
- },
173
- ];
174
- expect(result).toEqual(expected);
175
- });
176
-
177
- it('obtainAttrsPaths - empty', () => {
178
- const res1 = obtainAttrsPaths(undefined);
179
- expect(res1).toEqual({});
180
- const res2 = obtainAttrsPaths({});
181
- expect(res2).toEqual({});
182
- });
183
-
184
- it('obtainAttrsPaths - object', () => {
185
- const res1 = obtainAttrsPaths({
186
- 'prop1.a.b': 1,
187
- 'prop2.c.d': 2,
188
- });
189
- console.log('***** res1', res1);
190
- expect(res1).toEqual({
191
- 'prop1.a.b': ['prop1', 'a', 'b'],
192
- 'prop2.c.d': ['prop2', 'c', 'd'],
193
- });
194
- });
195
-
196
- it('escapeSqlId', () => {
197
- expect(escapeSqlId('table')).toBe('`table`');
198
- expect(escapeSqlId('table', '"')).toBe('"table"');
199
- expect(escapeSqlId('table', '`')).toBe('`table`');
200
- expect(escapeSqlId('my"table', '"')).toBe('"my""table"');
201
- expect(escapeSqlId('my`table', '`')).toBe('`my``table`');
202
- expect(escapeSqlId('schema.table')).toBe('`schema`.`table`');
203
- expect(escapeSqlId('schema.table', '"')).toBe('"schema"."table"');
204
- expect(escapeSqlId('schema.table', '"', true)).toBe('"schema.table"');
205
- expect(escapeSqlId('table', '`', false, true)).toBe('`table`.');
206
- expect(escapeSqlId('')).toBe('');
207
- expect(escapeSqlId(undefined)).toBe('');
208
- });
@@ -1,104 +0,0 @@
1
- import type { FieldValue, Key } from '../type/index.js';
2
- import { getKeys, hasKeys } from './object.util.js';
3
-
4
- export function flatObject<E>(obj: E, pre?: string): E {
5
- return getKeys(obj).reduce(
6
- (acc, key) => flatObjectEntry(acc, key, obj[key as Key<E>], typeof obj[key as Key<E>] === 'object' ? '' : pre),
7
- {} as E,
8
- );
9
- }
10
-
11
- function flatObjectEntry<E>(map: E, key: string, val: any, pre?: string): E {
12
- const prefix = pre ? `${pre}.${key}` : key;
13
- return typeof val === 'object'
14
- ? getKeys(val).reduce((acc, prop) => flatObjectEntry(acc, prop, val[prop], prefix), map)
15
- : { ...map, [prefix]: val };
16
- }
17
-
18
- export function unflatObjects<T>(objects: T[]): T[] {
19
- if (!Array.isArray(objects) || !objects.length) {
20
- return objects;
21
- }
22
-
23
- const attrsPaths = obtainAttrsPaths(objects[0]);
24
-
25
- if (!hasKeys(attrsPaths)) {
26
- return objects;
27
- }
28
-
29
- return objects.map((row) => {
30
- const dto = {} as T;
31
-
32
- for (const col in row) {
33
- if (row[col] === null) {
34
- continue;
35
- }
36
- const attrPath = attrsPaths[col];
37
- if (attrPath) {
38
- const target = attrPath.slice(0, -1).reduce(
39
- (acc, key) => {
40
- if (typeof acc[key as Key<T>] !== 'object') {
41
- acc[key as Key<T>] = {} as FieldValue<T>;
42
- }
43
- return acc[key as Key<T>];
44
- },
45
- dto as Record<string, any>,
46
- );
47
- target[attrPath[attrPath.length - 1]] = row[col];
48
- } else {
49
- dto[col] = row[col];
50
- }
51
- }
52
-
53
- return dto;
54
- });
55
- }
56
-
57
- export function obtainAttrsPaths<T>(row: T) {
58
- return getKeys(row).reduce(
59
- (acc, col) => {
60
- // Support both dot notation (legacy) and underscore notation (new)
61
- if (col.includes('.')) {
62
- acc[col] = col.split('.');
63
- } else if (col.includes('_') && col !== col.toUpperCase()) {
64
- // Convert underscore to dot notation for nested paths
65
- // Skip all-uppercase (like UPPER_CASE constants)
66
- acc[col] = col.split('_');
67
- }
68
- return acc;
69
- },
70
- {} as { [k: string]: string[] },
71
- );
72
- }
73
-
74
- /**
75
- * Escape a SQL identifier (table name, column name, etc.)
76
- * @param val the identifier to escape
77
- * @param escapeIdChar the escape character to use (e.g. ` or ")
78
- * @param forbidQualified whether to forbid qualified identifiers (containing dots)
79
- * @param addDot whether to add a dot suffix
80
- */
81
- export function escapeSqlId(
82
- val: string,
83
- escapeIdChar: '`' | '"' = '`',
84
- forbidQualified?: boolean,
85
- addDot?: boolean,
86
- ): string {
87
- if (!val) {
88
- return '';
89
- }
90
-
91
- if (!forbidQualified && val.includes('.')) {
92
- const result = val
93
- .split('.')
94
- .map((it) => escapeSqlId(it, escapeIdChar, true))
95
- .join('.');
96
- return addDot ? result + '.' : result;
97
- }
98
-
99
- const escaped = escapeIdChar + val.replace(new RegExp(escapeIdChar, 'g'), escapeIdChar + escapeIdChar) + escapeIdChar;
100
-
101
- const suffix = addDot ? '.' : '';
102
-
103
- return escaped + suffix;
104
- }
@@ -1,46 +0,0 @@
1
- import { expect, it } from 'bun:test';
2
- import { kebabCase, lowerFirst, snakeCase, upperFirst } from './string.util.js';
3
-
4
- it('kebabCase', () => {
5
- const res1 = kebabCase('SomeWordsAndMore');
6
- expect(res1).toBe('some-words-and-more');
7
- const res2 = kebabCase('someWordsAndMore');
8
- expect(res2).toBe('some-words-and-more');
9
- });
10
-
11
- it('upperFirst', () => {
12
- const res1 = upperFirst('id');
13
- expect(res1).toBe('Id');
14
- const res2 = upperFirst('Id');
15
- expect(res2).toBe('Id');
16
- const res3 = upperFirst('idSomething');
17
- expect(res3).toBe('IdSomething');
18
- });
19
-
20
- it('lowerFirst', () => {
21
- const res1 = lowerFirst('id');
22
- expect(res1).toBe('id');
23
- const res2 = lowerFirst('Id');
24
- expect(res2).toBe('id');
25
- const res3 = lowerFirst('IdSomething');
26
- expect(res3).toBe('idSomething');
27
- });
28
-
29
- it('snakeCase', () => {
30
- const res1 = snakeCase('SomeWordsAndMore');
31
- expect(res1).toBe('some_words_and_more');
32
- const res2 = snakeCase('someWordsAndMore');
33
- expect(res2).toBe('some_words_and_more');
34
- const res3 = snakeCase('simple');
35
- expect(res3).toBe('simple');
36
- const res4 = snakeCase('ID');
37
- expect(res4).toBe('i_d');
38
- const res5 = snakeCase('already_snake');
39
- expect(res5).toBe('already_snake');
40
- const res6 = snakeCase('');
41
- expect(res6).toBe('');
42
- const res7 = snakeCase(undefined);
43
- expect(res7).toBe(undefined);
44
- const res8 = snakeCase(null);
45
- expect(res8).toBe(null);
46
- });
@@ -1,35 +0,0 @@
1
- export function kebabCase(val: string): string {
2
- let resp = val.charAt(0).toLowerCase();
3
- for (let i = 1; i < val.length; ++i) {
4
- resp += val[i] === val[i].toUpperCase() ? '-' + val[i].toLowerCase() : val[i];
5
- }
6
- return resp;
7
- }
8
-
9
- export function upperFirst(text: string): string {
10
- return text[0].toUpperCase() + text.slice(1);
11
- }
12
-
13
- export function lowerFirst(text: string): string {
14
- return text[0].toLowerCase() + text.slice(1);
15
- }
16
-
17
- export function snakeCase(val: string): string {
18
- if (val === undefined || val === null) {
19
- return val;
20
- }
21
- if (!val) {
22
- return '';
23
- }
24
- let resp = val.charAt(0).toLowerCase();
25
- for (let i = 1; i < val.length; ++i) {
26
- const char = val[i];
27
- const charLower = char.toLowerCase();
28
- if (char !== charLower && char === char.toUpperCase()) {
29
- resp += '_' + charLower;
30
- } else {
31
- resp += char;
32
- }
33
- }
34
- return resp;
35
- }
@@ -1,5 +0,0 @@
1
- {
2
- "$schema": "https://json.schemastore.org/tsconfig",
3
- "extends": "./tsconfig.json",
4
- "exclude": ["node_modules", "dist", "**/*/*.spec.ts", "**/*/*-spec.ts", "**/*/*.it.ts", "**/*/*-it.ts", "**/*/test"]
5
- }
package/tsconfig.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "./dist",
5
- "rootDir": "./src"
6
- },
7
- "include": ["src/**/*"]
8
- }