@nejs/basic-extensions 2.18.0 → 2.19.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.
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Creates an enumeration object with specified values and properties.
3
+ *
4
+ * @param {string} name - The name of the enumeration.
5
+ * @param {Array|any} values - The values to be included in the enumeration.
6
+ * If not an array, it will be converted into a single-element array.
7
+ * @param {Object|Map} [properties] - Additional properties to be added to
8
+ * the enumeration. Can be an object or a Map.
9
+ * @returns {Object} The constructed enumeration object.
10
+ *
11
+ * @example
12
+ * const colors = Enum('Colors', ['red', 'green', 'blue'])
13
+ * console.log(colors.red) // EnumValue object for 'red'
14
+ *
15
+ * @description
16
+ * The `Enum` function constructs an enumeration object with a given name,
17
+ * values, and optional properties. It supports primitive types, arrays,
18
+ * and objects as values. The function uses a combination of `Object.create`
19
+ * and `Proxy` to define and manage the properties of the enumeration.
20
+ *
21
+ * The enumeration object includes:
22
+ * - A `toString` method that returns the enumeration name.
23
+ * - A `Symbol.toStringTag` for identifying the object as an 'Enum'.
24
+ * - A `Symbol.for('Enum.name')` for storing the enumeration name.
25
+ *
26
+ * For array values, it creates a maker function that returns an
27
+ * `EnumValue` object with properties like `real`, `value`, `type`,
28
+ * `name`, and `compare`.
29
+ */
30
+ export function Enum(name: string, values: any[] | any, properties?: Object | Map<any, any> | undefined): Object;
31
+ export const EnumExtension: Extension;
32
+ import { Extension } from '@nejs/extension';
@@ -0,0 +1,277 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnumExtension = void 0;
4
+ exports.Enum = Enum;
5
+ const extension_1 = require("@nejs/extension");
6
+ const index_js_1 = require("../utils/index.js");
7
+ /**
8
+ * Creates an enumeration object with specified values and properties.
9
+ *
10
+ * @param {string} name - The name of the enumeration.
11
+ * @param {Array|any} values - The values to be included in the enumeration.
12
+ * If not an array, it will be converted into a single-element array.
13
+ * @param {Object|Map} [properties] - Additional properties to be added to
14
+ * the enumeration. Can be an object or a Map.
15
+ * @returns {Object} The constructed enumeration object.
16
+ *
17
+ * @example
18
+ * const colors = Enum('Colors', ['red', 'green', 'blue'])
19
+ * console.log(colors.red) // EnumValue object for 'red'
20
+ *
21
+ * @description
22
+ * The `Enum` function constructs an enumeration object with a given name,
23
+ * values, and optional properties. It supports primitive types, arrays,
24
+ * and objects as values. The function uses a combination of `Object.create`
25
+ * and `Proxy` to define and manage the properties of the enumeration.
26
+ *
27
+ * The enumeration object includes:
28
+ * - A `toString` method that returns the enumeration name.
29
+ * - A `Symbol.toStringTag` for identifying the object as an 'Enum'.
30
+ * - A `Symbol.for('Enum.name')` for storing the enumeration name.
31
+ *
32
+ * For array values, it creates a maker function that returns an
33
+ * `EnumValue` object with properties like `real`, `value`, `type`,
34
+ * `name`, and `compare`.
35
+ */
36
+ function Enum(name, values, properties) {
37
+ const enumeration = Object.create({}, {
38
+ [Symbol.toStringTag]: (0, index_js_1.accessor)('Enum', false, true, false),
39
+ [Symbol.for('Enum.name')]: (0, index_js_1.accessor)(name, false, true, false),
40
+ [Symbol.for('Enum.valueKeys')]: (0, index_js_1.data)([], false, true, false),
41
+ [Symbol.for('nodejs.util.inspect.custom')]: (0, index_js_1.data)(function (depth, options, inspect) {
42
+ const valueKeys = this[Symbol.for('Enum.valueKeys')] ?? [];
43
+ let valueText = valueKeys
44
+ .map(key => `\x1b[1;2m${key}\x1b[22m`)
45
+ .join(', ');
46
+ if (valueText.length)
47
+ valueText = ` { ${valueText} }`;
48
+ return `\x1b[1menum \x1b[22m${name}${valueText}`;
49
+ }, false, true, false),
50
+ toString: (0, index_js_1.data)(function () {
51
+ return `Enum(${name})`;
52
+ }, false, true, false)
53
+ });
54
+ if (!Array.isArray(values)) {
55
+ values = [values];
56
+ }
57
+ const asString = o => index_js_1.as.string(o, { description: true, stringTag: true });
58
+ /**
59
+ * A new base `EnumValue` type object. It contains enough custom symbols and
60
+ * identifiers to allow things like a `compare(to)` function to also work on
61
+ * each of the elements. Thing of this as the shared base functionality for
62
+ * each `Enum` element.
63
+ *
64
+ * @param {any} enumValue the value around which an `EnumValue` type is
65
+ * created.
66
+ * @returns an object defined by {@link Symbol.toStringTag} as well as some
67
+ * custom {@link Symbol} keys. The `node.js` custom inspect symbol is also
68
+ * defined for better REPL representation.
69
+ */
70
+ const makeEnumValue = (property, enumValue) => ({
71
+ toString: (0, index_js_1.data)(() => enumValue, false, true, false),
72
+ [Symbol.for('Enum.name')]: (0, index_js_1.data)(name, false, true, false),
73
+ [Symbol.for('Enum.is')]: (0, index_js_1.data)(true, false, false, false),
74
+ [Symbol.for('nodejs.util.inspect.custom')]: (0, index_js_1.data)(function (depth, options, inspect) {
75
+ const _options = { ...(options || {}), colors: true };
76
+ const _skip = this.value === Symbol.for('Enum.NonAssociatedValue');
77
+ const _value = _skip
78
+ ? ''
79
+ : ` { value: ${inspect(this.value, _options)} }`;
80
+ return `${property}${_value}`;
81
+ }, false, true, false),
82
+ [Symbol.toStringTag]: (0, index_js_1.accessor)('EnumValue', false, true, false),
83
+ [Symbol.for('compare')]: (0, index_js_1.data)(function compareValue(to) {
84
+ const toObj = (to && typeof to === 'object') ? to : { real: to };
85
+ const kName = Symbol.for('Enum.name');
86
+ const hasAndIs = o => (Reflect.has(o, Symbol.for('Enum.is')) && o[Symbol.for('Enum.is')]);
87
+ const isLEnum = hasAndIs(this);
88
+ const isREnum = hasAndIs(toObj);
89
+ if (!isLEnum || !isREnum)
90
+ return false;
91
+ const { real: lReal, value: lValue, name: lName, type: lType } = this;
92
+ const { real: rReal, value: rValue, name: rName, type: rType } = toObj;
93
+ return (lName === rName && lType === rType &&
94
+ lReal === rReal && lValue === rValue);
95
+ }, false, true, false),
96
+ [Symbol.toPrimitive]: (0, index_js_1.data)(function EnumValueToPrimitive(hint) {
97
+ const original = this.real;
98
+ const type = typeof original;
99
+ switch (hint) {
100
+ case 'string':
101
+ if ('string' === type)
102
+ return original;
103
+ else
104
+ return String(original);
105
+ case 'number':
106
+ if ('number' === type)
107
+ return original;
108
+ else
109
+ return NaN;
110
+ case 'bigint':
111
+ if ('bigint' === type)
112
+ return original;
113
+ else
114
+ return NaN;
115
+ default:
116
+ return original;
117
+ }
118
+ }, false, true, false),
119
+ });
120
+ /**
121
+ * Given a value, determine how to represent it as both a key and a response
122
+ * or underlying original value. The method for this is dependent on the type
123
+ * of the value itself.
124
+ *
125
+ * @param {any} value the value to be converted
126
+ * @returns {[string, any]} an array where the first value is the transformed
127
+ * value as a key and the second element is the originally supplied value.
128
+ */
129
+ const fromPrimitive = (value) => {
130
+ let valueType = typeof value;
131
+ switch (valueType) {
132
+ case 'string':
133
+ case 'number':
134
+ case 'bigint':
135
+ case 'boolean':
136
+ default:
137
+ return [String(value), value];
138
+ case 'symbol':
139
+ return [value.description, value];
140
+ case 'function':
141
+ return [value.name, value];
142
+ case 'object': {
143
+ const str = asString(value);
144
+ return [str, str];
145
+ }
146
+ }
147
+ };
148
+ // Determine the keys that the final proxy should be aware of when computing
149
+ // the enumeration value itself.
150
+ const kValueProps = ['real', 'value', 'type', 'name', 'compare', 'isEnum'];
151
+ const kCustomPropKeys = [];
152
+ // Capture and calculate any custom properties defined for each element
153
+ // of the enumeration. Each custom property is appended to `kCustomPropKeys`
154
+ const props = {};
155
+ if (properties) {
156
+ if (Array.isArray(properties)) {
157
+ const entries = properties.filter(e => Array.isArray(e) && e.length === 2);
158
+ if (entries.length)
159
+ properties = new Map(entries);
160
+ else
161
+ properties = new Map();
162
+ }
163
+ else if (typeof properties === 'object') {
164
+ properties = new Map(Object.entries(properties));
165
+ }
166
+ if (properties instanceof Map) {
167
+ const applyPropertiesOf = (object, baseDescriptor) => {
168
+ const property = {
169
+ configurable: baseDescriptor?.configurable ?? true,
170
+ enumerable: baseDescriptor?.enumerable ?? true,
171
+ writable: baseDescriptor?.writable ?? true,
172
+ };
173
+ for (const [key, subvalue] of Object.entries(object)) {
174
+ if ((stats = (0, index_js_1.isDescriptor)(subvalue)).isValid) {
175
+ if (stats.isAccessor || stats.isData)
176
+ props[key] = subvalue;
177
+ }
178
+ else
179
+ props[key] = (0, index_js_1.data)(subvalue, property, false, true, false);
180
+ }
181
+ };
182
+ let stats = {};
183
+ for (const [property, value] of properties.entries()) {
184
+ kCustomPropKeys.push(property);
185
+ if ((0, index_js_1.isDescriptor)(property)) {
186
+ if (typeof value === 'object') {
187
+ applyPropertiesOf(value, property);
188
+ continue;
189
+ }
190
+ }
191
+ props[property] = (0, index_js_1.data)(value);
192
+ }
193
+ }
194
+ }
195
+ for (const value of values) {
196
+ const valueType = Array.isArray(value) ? 'array' : typeof value;
197
+ let property = undefined;
198
+ let response = undefined;
199
+ let makeNew = undefined;
200
+ let wasArray = false;
201
+ let elements = value;
202
+ switch (valueType) {
203
+ case 'array':
204
+ if (value.length >= 1) {
205
+ wasArray = true;
206
+ ([property, response] = fromPrimitive(elements[0]));
207
+ }
208
+ default:
209
+ ([property, response] = fromPrimitive(value));
210
+ }
211
+ const maker = {
212
+ [property](initialValue) {
213
+ const storage = new Map();
214
+ const key = property;
215
+ const realValue = (0, index_js_1.accessor)(response, false, { storage, key });
216
+ let _opts, associatedValue;
217
+ if (wasArray) {
218
+ _opts = { storage, key: key + '.associated' };
219
+ associatedValue = elements.length === 1
220
+ ? (0, index_js_1.accessor)(initialValue, true, _opts)
221
+ : (0, index_js_1.accessor)(elements?.[1], elements?.[2], _opts);
222
+ }
223
+ else
224
+ associatedValue = (0, index_js_1.accessor)(Symbol.for('Enum.NonAssociatedValue'), false, false, false);
225
+ const _prop = Object(asString(response));
226
+ const valueProps = [...kValueProps, ...kCustomPropKeys];
227
+ const enumResponse = Object.create(_prop, {
228
+ ...makeEnumValue(property, response),
229
+ ...props,
230
+ });
231
+ const proxy = new Proxy(_prop, {
232
+ get(target, _property, receiver) {
233
+ if (_property === 'real')
234
+ return realValue.get();
235
+ if (_property === 'value')
236
+ return associatedValue.get();
237
+ if (_property === 'type')
238
+ return name;
239
+ if (_property === 'name')
240
+ return property;
241
+ if (_property === 'compare')
242
+ return enumResponse[Symbol.for('compare')];
243
+ if (_property === 'isEnum')
244
+ return true;
245
+ if (!valueProps.includes(_property))
246
+ return undefined;
247
+ },
248
+ has(target, _property) {
249
+ return valueProps.includes(_property);
250
+ },
251
+ ownKeys(target) {
252
+ return valueProps;
253
+ },
254
+ set(target, _property, value, receiver) {
255
+ if (_property === 'value' && wasArray)
256
+ return associatedValue.set(value);
257
+ return false;
258
+ }
259
+ });
260
+ Object.setPrototypeOf(proxy, Object.getPrototypeOf(_prop));
261
+ Object.setPrototypeOf(enumResponse, proxy);
262
+ return enumResponse;
263
+ }
264
+ };
265
+ enumeration[Symbol.for('Enum.valueKeys')].push(property);
266
+ const dataValue = wasArray ? maker[property] : maker[property]();
267
+ const baseProps = {
268
+ writable: false,
269
+ configurable: false,
270
+ enumerable: true,
271
+ };
272
+ Object.defineProperty(enumeration, property, (0, index_js_1.data)(dataValue, baseProps));
273
+ }
274
+ return enumeration;
275
+ }
276
+ exports.EnumExtension = new extension_1.Extension(Enum);
277
+ //# sourceMappingURL=enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../src/classes/enum.js"],"names":[],"mappings":";;;AAgCA,oBAgTC;AAhVD,+CAA2C;AAC3C,gDAAoE;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BE;AACF,SAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;QACpC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAA,mBAAQ,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;QAC1D,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAA,mBAAQ,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;QAC7D,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAA,eAAI,EAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;QAC5D,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,EAAE,IAAA,eAAI,EAC9C,UAAS,KAAK,EAAE,OAAO,EAAE,OAAO;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAA;YAC1D,IAAI,SAAS,GAAG,SAAS;iBACtB,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,GAAG,UAAU,CAAC;iBACrC,IAAI,CAAC,IAAI,CAAC,CAAA;YAEb,IAAI,SAAS,CAAC,MAAM;gBAClB,SAAS,GAAG,MAAM,SAAS,IAAI,CAAA;YAEjC,OAAO,uBAAuB,IAAI,GAAG,SAAS,EAAE,CAAA;QAClD,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CACtB;QACD,QAAQ,EAAE,IAAA,eAAI,EAAC;YACb,OAAO,QAAQ,IAAI,GAAG,CAAA;QACxB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;KACvB,CAAC,CAAA;IAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,CAAC,MAAM,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,aAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE1E;;;;;;;;;;;OAWG;IACH,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC9C,QAAQ,EAAE,IAAA,eAAI,EAAC,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;QAEnD,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAA,eAAI,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;QACzD,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,IAAA,eAAI,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;QACxD,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,EAAE,IAAA,eAAI,EAC9C,UAAS,KAAK,EAAE,OAAO,EAAE,OAAO;YAC9B,MAAM,QAAQ,GAAG,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;YACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;YAClE,MAAM,MAAM,GAAG,KAAK;gBAClB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,aAAa,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAE,IAAI,CAAC;YAEpD,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAA;QAC/B,CAAC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,CACnB;QACD,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAA,mBAAQ,EAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;QAC/D,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,IAAA,eAAI,EAC3B,SAAS,YAAY,CAAC,EAAE;YACtB,MAAM,KAAK,GAAG,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;YAChE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAErC,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CACnB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAEtE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;YAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;YAE/B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;gBACtB,OAAO,KAAK,CAAA;YAEd,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC,GAAG,IAAI,CAAA;YACnE,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC,GAAG,KAAK,CAAA;YAEpE,OAAO,CACL,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK;gBAClC,KAAK,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CACrC,CAAA;QACL,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;QACtB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAA,eAAI,EACxB,SAAS,oBAAoB,CAAC,IAAI;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;YAC1B,MAAM,IAAI,GAAG,OAAO,QAAQ,CAAA;YAE5B,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,QAAQ;oBACX,IAAI,QAAQ,KAAK,IAAI;wBACnB,OAAO,QAAQ,CAAA;;wBAEf,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAE3B,KAAK,QAAQ;oBACX,IAAI,QAAQ,KAAK,IAAI;wBACnB,OAAO,QAAQ,CAAA;;wBAEf,OAAO,GAAG,CAAA;gBAEd,KAAK,QAAQ;oBACX,IAAI,QAAQ,KAAK,IAAI;wBACnB,OAAO,QAAQ,CAAA;;wBAEf,OAAO,GAAG,CAAA;gBAEd;oBACE,OAAO,QAAQ,CAAA;YACnB,CAAC;QACH,CAAC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;KACtB,CAAC,CAAA;IAEF;;;;;;;;OAQG;IACH,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE;QAC9B,IAAI,SAAS,GAAG,OAAO,KAAK,CAAA;QAE5B,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS,CAAC;YACf;gBACE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;YAE/B,KAAK,QAAQ;gBACX,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;YAEnC,KAAK,UAAU;gBACb,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAE5B,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAC3B,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACnB,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,4EAA4E;IAC5E,gCAAgC;IAChC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC1E,MAAM,eAAe,GAAG,EAAE,CAAA;IAE1B,uEAAuE;IACvE,4EAA4E;IAC5E,MAAM,KAAK,GAAG,EAAE,CAAA;IAChB,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;YAE1E,IAAI,OAAO,CAAC,MAAM;gBAChB,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;;gBAE7B,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;QAC1B,CAAC;aACI,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACxC,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;QAClD,CAAC;QAED,IAAI,UAAU,YAAY,GAAG,EAAE,CAAC;YAC9B,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE;gBACnD,MAAM,QAAQ,GAAG;oBACf,YAAY,EAAE,cAAc,EAAE,YAAY,IAAI,IAAI;oBAClD,UAAU,EAAE,cAAc,EAAE,UAAU,IAAI,IAAI;oBAC9C,QAAQ,EAAE,cAAc,EAAE,QAAQ,IAAI,IAAI;iBAC3C,CAAA;gBAED,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrD,IAAI,CAAC,KAAK,GAAG,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC7C,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM;4BAClC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;oBACzB,CAAC;;wBAEC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAA,eAAI,EAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;gBAC7D,CAAC;YACH,CAAC,CAAA;YAED,IAAI,KAAK,GAAG,EAAE,CAAA;YAEd,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrD,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAE9B,IAAI,IAAA,uBAAY,EAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;wBAClC,SAAQ;oBACV,CAAC;gBACH,CAAC;gBAED,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAA,eAAI,EAAC,KAAK,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAA;QAE/D,IAAI,QAAQ,GAAG,SAAS,CAAA;QACxB,IAAI,QAAQ,GAAG,SAAS,CAAA;QACxB,IAAI,OAAO,GAAG,SAAS,CAAA;QACvB,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAA;QAEpB,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,OAAO;gBACV,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACtB,QAAQ,GAAG,IAAI,CAAC;oBAChB,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBACrD,CAAC;YAEH;gBACE,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,CAAC,QAAQ,CAAC,CAAC,YAAY;gBACrB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;gBACzB,MAAM,GAAG,GAAG,QAAQ,CAAA;gBACpB,MAAM,SAAS,GAAG,IAAA,mBAAQ,EAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;gBAE7D,IAAI,KAAK,EAAE,eAAe,CAAC;gBAE3B,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,aAAa,EAAE,CAAA;oBAC7C,eAAe,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC;wBACrC,CAAC,CAAC,IAAA,mBAAQ,EAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC;wBACrC,CAAC,CAAC,IAAA,mBAAQ,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpD,CAAC;;oBAEC,eAAe,GAAG,IAAA,mBAAQ,EACxB,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,EACrC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;gBAExB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;gBACxC,MAAM,UAAU,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,eAAe,CAAC,CAAA;gBACvD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;oBACxC,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBACpC,GAAG,KAAK;iBACT,CAAC,CAAA;gBAEF,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE;oBAC7B,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ;wBAC7B,IAAI,SAAS,KAAK,MAAM;4BACtB,OAAO,SAAS,CAAC,GAAG,EAAE,CAAA;wBAExB,IAAI,SAAS,KAAK,OAAO;4BACvB,OAAO,eAAe,CAAC,GAAG,EAAE,CAAA;wBAE9B,IAAI,SAAS,KAAK,MAAM;4BACtB,OAAO,IAAI,CAAA;wBAEb,IAAI,SAAS,KAAK,MAAM;4BACtB,OAAO,QAAQ,CAAA;wBAEjB,IAAI,SAAS,KAAK,SAAS;4BACzB,OAAO,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;wBAE5C,IAAI,SAAS,KAAK,QAAQ;4BACxB,OAAO,IAAI,CAAA;wBAEb,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;4BACjC,OAAO,SAAS,CAAA;oBACpB,CAAC;oBACD,GAAG,CAAC,MAAM,EAAE,SAAS;wBACnB,OAAO,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;oBACvC,CAAC;oBACD,OAAO,CAAC,MAAM;wBACZ,OAAO,UAAU,CAAA;oBACnB,CAAC;oBACD,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ;wBACpC,IAAI,SAAS,KAAK,OAAO,IAAI,QAAQ;4BACnC,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;wBAEnC,OAAO,KAAK,CAAA;oBACd,CAAC;iBACF,CAAC,CAAA;gBAEF,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC1D,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;gBAE1C,OAAO,YAAY,CAAA;YACrB,CAAC;SACF,CAAA;QAED,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAExD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAA;QAChE,MAAM,SAAS,GAAG;YAChB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,IAAI;SACjB,CAAA;QAED,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAA,eAAI,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED,OAAO,WAAW,CAAA;AACnB,CAAC;AAEY,QAAA,aAAa,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAA"}
@@ -1,6 +1,7 @@
1
1
  export * from "./asyncIterable.js";
2
2
  export * from "./deferred.js";
3
3
  export * from "./descriptor.js";
4
+ export * from "./enum.js";
4
5
  export * from "./introspector.js";
5
6
  export * from "./iterable.js";
6
7
  export * from "./param.parser.js";
@@ -22,6 +22,8 @@ const deferred_js_1 = require("./deferred.js");
22
22
  __exportStar(require("./deferred.js"), exports);
23
23
  const descriptor_js_1 = require("./descriptor.js");
24
24
  __exportStar(require("./descriptor.js"), exports);
25
+ const enum_js_1 = require("./enum.js");
26
+ __exportStar(require("./enum.js"), exports);
25
27
  const introspector_js_1 = require("./introspector.js");
26
28
  __exportStar(require("./introspector.js"), exports);
27
29
  const iterable_js_1 = require("./iterable.js");
@@ -45,6 +47,7 @@ exports.NewClassesExtension = new extension_1.Patch(globalThis, {
45
47
  AsyncIterator: asyncIterable_js_1.AsyncIterator,
46
48
  Deferred: deferred_js_1.Deferred,
47
49
  Descriptor: descriptor_js_1.Descriptor,
50
+ Enum: enum_js_1.Enum,
48
51
  Introspector: introspector_js_1.Introspector,
49
52
  Iterable: iterable_js_1.Iterable,
50
53
  Iterator: iterable_js_1.Iterator,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/classes/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAAuC;AAEvC,yDAAiE;AACjE,qDAAkC;AAElC,+CAAwC;AACxC,gDAA6B;AAE7B,mDAA4C;AAC5C,kDAA+B;AAE/B,uDAAgD;AAChD,oDAAiC;AAEjC,+CAAiD;AACjD,gDAA6B;AAE7B,uDAA+C;AAC/C,oDAAiC;AAEjC,6DAAmE;AACnE,uDAAoC;AAEpC,+CAA4D;AAC5D,gDAA6B;AAE7B,2CAAqC;AACrC,8CAA2B;AAE3B,2CAAoC;AACpC,8CAA2B;AAE3B,6CAAsC;AACtC,+CAA4B;AAE5B,uCAAgC;AAChC,4CAAyB;AAEZ,QAAA,mBAAmB,GAAG,IAAI,iBAAK,CAAC,UAAU,EAAE;IACvD,aAAa,EAAb,gCAAa;IACb,aAAa,EAAb,gCAAa;IACb,QAAQ,EAAR,sBAAQ;IACR,UAAU,EAAV,0BAAU;IACV,YAAY,EAAZ,8BAAY;IACZ,QAAQ,EAAR,sBAAQ;IACR,QAAQ,EAAR,sBAAQ;IACR,WAAW,EAAX,6BAAW;IACX,cAAc,EAAd,mCAAc;IACd,YAAY,EAAZ,iCAAY;IACZ,QAAQ,EAAR,sBAAQ;IACR,MAAM,EAAN,kBAAM;IACN,MAAM,EAAN,kBAAM;IACN,OAAO,EAAP,oBAAO;IACP,IAAI,EAAJ,cAAI;CACL,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/classes/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAAuC;AAEvC,yDAAiE;AACjE,qDAAkC;AAElC,+CAAwC;AACxC,gDAA6B;AAE7B,mDAA4C;AAC5C,kDAA+B;AAE/B,uCAAgC;AAChC,4CAAyB;AAEzB,uDAAgD;AAChD,oDAAiC;AAEjC,+CAAiD;AACjD,gDAA6B;AAE7B,uDAA+C;AAC/C,oDAAiC;AAEjC,6DAAmE;AACnE,uDAAoC;AAEpC,+CAA4D;AAC5D,gDAA6B;AAE7B,2CAAqC;AACrC,8CAA2B;AAE3B,2CAAoC;AACpC,8CAA2B;AAE3B,6CAAsC;AACtC,+CAA4B;AAE5B,uCAAgC;AAChC,4CAAyB;AAEZ,QAAA,mBAAmB,GAAG,IAAI,iBAAK,CAAC,UAAU,EAAE;IACvD,aAAa,EAAb,gCAAa;IACb,aAAa,EAAb,gCAAa;IACb,QAAQ,EAAR,sBAAQ;IACR,UAAU,EAAV,0BAAU;IACV,IAAI,EAAJ,cAAI;IACJ,YAAY,EAAZ,8BAAY;IACZ,QAAQ,EAAR,sBAAQ;IACR,QAAQ,EAAR,sBAAQ;IACR,WAAW,EAAX,6BAAW;IACX,cAAc,EAAd,mCAAc;IACd,YAAY,EAAZ,iCAAY;IACZ,QAAQ,EAAR,sBAAQ;IACR,MAAM,EAAN,kBAAM;IACN,MAAM,EAAN,kBAAM;IACN,OAAO,EAAP,oBAAO;IACP,IAAI,EAAJ,cAAI;CACL,CAAC,CAAA"}
package/dist/cjs/index.js CHANGED
@@ -31,6 +31,7 @@ const string_extensions_js_1 = require("./string.extensions.js");
31
31
  const symbol_extensions_js_1 = require("./symbol.extensions.js");
32
32
  const deferred_js_1 = require("./classes/deferred.js");
33
33
  const descriptor_js_1 = require("./classes/descriptor.js");
34
+ const enum_js_1 = require("./classes/enum.js");
34
35
  const introspector_js_1 = require("./classes/introspector.js");
35
36
  const iterable_js_1 = require("./classes/iterable.js");
36
37
  const param_parser_js_1 = require("./classes/param.parser.js");
@@ -81,6 +82,7 @@ const Extensions = {
81
82
  [asyncIterable_js_1.AsyncIteratorExtensions.key]: asyncIterable_js_1.AsyncIteratorExtensions,
82
83
  [deferred_js_1.DeferredExtension.key]: deferred_js_1.DeferredExtension,
83
84
  [descriptor_js_1.DescriptorExtensions.key]: descriptor_js_1.DescriptorExtensions,
85
+ [enum_js_1.EnumExtension.key]: enum_js_1.EnumExtension,
84
86
  [introspector_js_1.IntrospectorExtensions.key]: introspector_js_1.IntrospectorExtensions,
85
87
  [iterable_js_1.IterableExtensions.key]: iterable_js_1.IterableExtensions,
86
88
  [iterable_js_1.IteratorExtensions.key]: iterable_js_1.IteratorExtensions,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Creates an enumeration object with specified values and properties.
3
+ *
4
+ * @param {string} name - The name of the enumeration.
5
+ * @param {Array|any} values - The values to be included in the enumeration.
6
+ * If not an array, it will be converted into a single-element array.
7
+ * @param {Object|Map} [properties] - Additional properties to be added to
8
+ * the enumeration. Can be an object or a Map.
9
+ * @returns {Object} The constructed enumeration object.
10
+ *
11
+ * @example
12
+ * const colors = Enum('Colors', ['red', 'green', 'blue'])
13
+ * console.log(colors.red) // EnumValue object for 'red'
14
+ *
15
+ * @description
16
+ * The `Enum` function constructs an enumeration object with a given name,
17
+ * values, and optional properties. It supports primitive types, arrays,
18
+ * and objects as values. The function uses a combination of `Object.create`
19
+ * and `Proxy` to define and manage the properties of the enumeration.
20
+ *
21
+ * The enumeration object includes:
22
+ * - A `toString` method that returns the enumeration name.
23
+ * - A `Symbol.toStringTag` for identifying the object as an 'Enum'.
24
+ * - A `Symbol.for('Enum.name')` for storing the enumeration name.
25
+ *
26
+ * For array values, it creates a maker function that returns an
27
+ * `EnumValue` object with properties like `real`, `value`, `type`,
28
+ * `name`, and `compare`.
29
+ */
30
+ export function Enum(name: string, values: any[] | any, properties?: Object | Map<any, any> | undefined): Object;
31
+ export const EnumExtension: Extension;
32
+ import { Extension } from '@nejs/extension';