@smartsoft001/mongo 2.101.0 → 2.102.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 (2) hide show
  1. package/index.cjs +53 -6
  2. package/package.json +1 -1
package/index.cjs CHANGED
@@ -54,8 +54,11 @@ var import_reflect_metadata = require("reflect-metadata");
54
54
  // packages/shared/models/src/lib/decorators/field/field.decorator.ts
55
55
  var import_reflect_metadata2 = require("reflect-metadata");
56
56
 
57
- // packages/shared/utils/src/lib/services/password/password.service.ts
58
- var import_md5 = __toESM(require("md5"));
57
+ // packages/shared/utils/src/lib/services/array/array.service.ts
58
+ var _ = __toESM(require("lodash"));
59
+
60
+ // packages/shared/utils/src/lib/services/guid/guid.service.ts
61
+ var import_guid_typescript = require("guid-typescript");
59
62
 
60
63
  // packages/shared/utils/src/lib/services/object/object.service.ts
61
64
  var import_flatted = require("flatted");
@@ -108,11 +111,55 @@ var ObjectService = class {
108
111
  }
109
112
  };
110
113
 
111
- // packages/shared/utils/src/lib/services/guid/guid.service.ts
112
- var import_guid_typescript = require("guid-typescript");
114
+ // packages/shared/utils/src/lib/services/password/password.service.ts
115
+ var import_md5 = __toESM(require("md5"));
113
116
 
114
- // packages/shared/utils/src/lib/services/array/array.service.ts
115
- var _ = __toESM(require("lodash"));
117
+ // packages/shared/utils/src/lib/services/slug/slug.service.ts
118
+ var SlugService = class _SlugService {
119
+ static {
120
+ this.polishToEnglishMap = {
121
+ "\u0105": "a",
122
+ "\u0107": "c",
123
+ "\u0119": "e",
124
+ "\u0142": "l",
125
+ "\u0144": "n",
126
+ "\xF3": "o",
127
+ "\u015B": "s",
128
+ "\u017A": "z",
129
+ "\u017C": "z",
130
+ "\u0104": "A",
131
+ "\u0106": "C",
132
+ "\u0118": "E",
133
+ "\u0141": "L",
134
+ "\u0143": "N",
135
+ "\xD3": "O",
136
+ "\u015A": "S",
137
+ "\u0179": "Z",
138
+ "\u017B": "Z"
139
+ };
140
+ }
141
+ /**
142
+ * Convert text to URL-friendly slug
143
+ * - Replaces Polish characters with English equivalents
144
+ * - Converts to lowercase
145
+ * - Replaces spaces and special characters with hyphens
146
+ * - Removes multiple consecutive hyphens
147
+ * - Trims hyphens from start and end
148
+ */
149
+ static create(text) {
150
+ if (!text) {
151
+ return "";
152
+ }
153
+ let slug = text.split("").map(
154
+ (char) => _SlugService.polishToEnglishMap[char] || char
155
+ ).join("");
156
+ slug = slug.toLowerCase();
157
+ slug = slug.replace(/[^a-z0-9]+/g, "-");
158
+ slug = slug.replace(/-+/g, "-");
159
+ slug = slug.replace(/^-+|-+$/g, "");
160
+ return slug;
161
+ }
162
+ };
116
163
 
117
164
  // packages/shared/models/src/lib/utils.ts
118
165
  function getModelFieldKeys(type) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartsoft001/mongo",
3
- "version": "2.101.0",
3
+ "version": "2.102.0",
4
4
  "description": "Utils to mongo",
5
5
  "repository": {
6
6
  "type": "git",