@terascope/core-utils 2.0.0-dev.10
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.
- package/LICENSE +21 -0
- package/README.md +17 -0
- package/dist/src/arrays.d.ts +59 -0
- package/dist/src/arrays.d.ts.map +1 -0
- package/dist/src/arrays.js +180 -0
- package/dist/src/arrays.js.map +1 -0
- package/dist/src/big-lru-map.d.ts +14 -0
- package/dist/src/big-lru-map.d.ts.map +1 -0
- package/dist/src/big-lru-map.js +20 -0
- package/dist/src/big-lru-map.js.map +1 -0
- package/dist/src/big-map.d.ts +28 -0
- package/dist/src/big-map.d.ts.map +1 -0
- package/dist/src/big-map.js +148 -0
- package/dist/src/big-map.js.map +1 -0
- package/dist/src/big-set.d.ts +20 -0
- package/dist/src/big-set.d.ts.map +1 -0
- package/dist/src/big-set.js +109 -0
- package/dist/src/big-set.js.map +1 -0
- package/dist/src/booleans.d.ts +44 -0
- package/dist/src/booleans.d.ts.map +1 -0
- package/dist/src/booleans.js +81 -0
- package/dist/src/booleans.js.map +1 -0
- package/dist/src/buffers.d.ts +9 -0
- package/dist/src/buffers.d.ts.map +1 -0
- package/dist/src/buffers.js +22 -0
- package/dist/src/buffers.js.map +1 -0
- package/dist/src/collector.d.ts +48 -0
- package/dist/src/collector.d.ts.map +1 -0
- package/dist/src/collector.js +74 -0
- package/dist/src/collector.js.map +1 -0
- package/dist/src/dates.d.ts +180 -0
- package/dist/src/dates.d.ts.map +1 -0
- package/dist/src/dates.js +744 -0
- package/dist/src/dates.js.map +1 -0
- package/dist/src/decorators.d.ts +7 -0
- package/dist/src/decorators.d.ts.map +1 -0
- package/dist/src/decorators.js +21 -0
- package/dist/src/decorators.js.map +1 -0
- package/dist/src/deps.d.ts +25 -0
- package/dist/src/deps.d.ts.map +1 -0
- package/dist/src/deps.js +96 -0
- package/dist/src/deps.js.map +1 -0
- package/dist/src/empty.d.ts +11 -0
- package/dist/src/empty.d.ts.map +1 -0
- package/dist/src/empty.js +32 -0
- package/dist/src/empty.js.map +1 -0
- package/dist/src/entities/data-entity.d.ts +153 -0
- package/dist/src/entities/data-entity.d.ts.map +1 -0
- package/dist/src/entities/data-entity.js +354 -0
- package/dist/src/entities/data-entity.js.map +1 -0
- package/dist/src/entities/index.d.ts +3 -0
- package/dist/src/entities/index.d.ts.map +1 -0
- package/dist/src/entities/index.js +3 -0
- package/dist/src/entities/index.js.map +1 -0
- package/dist/src/entities/interfaces.d.ts +52 -0
- package/dist/src/entities/interfaces.d.ts.map +1 -0
- package/dist/src/entities/interfaces.js +13 -0
- package/dist/src/entities/interfaces.js.map +1 -0
- package/dist/src/entities/utils.d.ts +9 -0
- package/dist/src/entities/utils.d.ts.map +1 -0
- package/dist/src/entities/utils.js +44 -0
- package/dist/src/entities/utils.js.map +1 -0
- package/dist/src/env.d.ts +6 -0
- package/dist/src/env.d.ts.map +1 -0
- package/dist/src/env.js +15 -0
- package/dist/src/env.js.map +1 -0
- package/dist/src/equality.d.ts +72 -0
- package/dist/src/equality.d.ts.map +1 -0
- package/dist/src/equality.js +128 -0
- package/dist/src/equality.js.map +1 -0
- package/dist/src/errors.d.ts +140 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/errors.js +372 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/event-loop.d.ts +33 -0
- package/dist/src/event-loop.d.ts.map +1 -0
- package/dist/src/event-loop.js +74 -0
- package/dist/src/event-loop.js.map +1 -0
- package/dist/src/fp.d.ts +15 -0
- package/dist/src/fp.d.ts.map +1 -0
- package/dist/src/fp.js +25 -0
- package/dist/src/fp.js.map +1 -0
- package/dist/src/functions.d.ts +19 -0
- package/dist/src/functions.d.ts.map +1 -0
- package/dist/src/functions.js +58 -0
- package/dist/src/functions.js.map +1 -0
- package/dist/src/index.d.ts +33 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +33 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/iterators.d.ts +9 -0
- package/dist/src/iterators.d.ts.map +1 -0
- package/dist/src/iterators.js +13 -0
- package/dist/src/iterators.js.map +1 -0
- package/dist/src/json.d.ts +8 -0
- package/dist/src/json.d.ts.map +1 -0
- package/dist/src/json.js +46 -0
- package/dist/src/json.js.map +1 -0
- package/dist/src/logger.d.ts +18 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +87 -0
- package/dist/src/logger.js.map +1 -0
- package/dist/src/numbers.d.ts +86 -0
- package/dist/src/numbers.d.ts.map +1 -0
- package/dist/src/numbers.js +354 -0
- package/dist/src/numbers.js.map +1 -0
- package/dist/src/objects.d.ts +66 -0
- package/dist/src/objects.d.ts.map +1 -0
- package/dist/src/objects.js +170 -0
- package/dist/src/objects.js.map +1 -0
- package/dist/src/phone-number.d.ts +4 -0
- package/dist/src/phone-number.d.ts.map +1 -0
- package/dist/src/phone-number.js +31 -0
- package/dist/src/phone-number.js.map +1 -0
- package/dist/src/promises.d.ts +102 -0
- package/dist/src/promises.d.ts.map +1 -0
- package/dist/src/promises.js +289 -0
- package/dist/src/promises.js.map +1 -0
- package/dist/src/queue/index.d.ts +27 -0
- package/dist/src/queue/index.d.ts.map +1 -0
- package/dist/src/queue/index.js +170 -0
- package/dist/src/queue/index.js.map +1 -0
- package/dist/src/queue/node.d.ts +7 -0
- package/dist/src/queue/node.d.ts.map +1 -0
- package/dist/src/queue/node.js +17 -0
- package/dist/src/queue/node.js.map +1 -0
- package/dist/src/regex.d.ts +19 -0
- package/dist/src/regex.d.ts.map +1 -0
- package/dist/src/regex.js +138 -0
- package/dist/src/regex.js.map +1 -0
- package/dist/src/schemas.d.ts +69 -0
- package/dist/src/schemas.d.ts.map +1 -0
- package/dist/src/schemas.js +619 -0
- package/dist/src/schemas.js.map +1 -0
- package/dist/src/status-codes.d.ts +67 -0
- package/dist/src/status-codes.d.ts.map +1 -0
- package/dist/src/status-codes.js +66 -0
- package/dist/src/status-codes.js.map +1 -0
- package/dist/src/strings.d.ts +279 -0
- package/dist/src/strings.d.ts.map +1 -0
- package/dist/src/strings.js +578 -0
- package/dist/src/strings.js.map +1 -0
- package/dist/src/vector.d.ts +2 -0
- package/dist/src/vector.d.ts.map +1 -0
- package/dist/src/vector.js +16 -0
- package/dist/src/vector.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { parseJSON } from '../json.js';
|
|
8
|
+
import { isSimpleObject } from '../objects.js';
|
|
9
|
+
import { getTypeOf } from '../deps.js';
|
|
10
|
+
import { locked } from '../decorators.js';
|
|
11
|
+
import { ensureBuffer, isBuffer } from '../buffers.js';
|
|
12
|
+
import { isDataEntity } from './utils.js';
|
|
13
|
+
import { getValidDate, getTime } from '../dates.js';
|
|
14
|
+
import * as i from './interfaces.js';
|
|
15
|
+
import { defineEntityProperties, makeMetadata, isValidKey, jsonToBuffer } from './utils.js';
|
|
16
|
+
/**
|
|
17
|
+
* A wrapper for data that can hold additional metadata properties.
|
|
18
|
+
* A DataEntity should be essentially transparent to use within operations.
|
|
19
|
+
*
|
|
20
|
+
* NOTE: Use `DataEntity.make`, `DataEntity.fromBuffer` and `DataEntity.makeArray`
|
|
21
|
+
* in production for potential performance gains
|
|
22
|
+
*/
|
|
23
|
+
export class DataEntity {
|
|
24
|
+
static make(input, metadata) {
|
|
25
|
+
if (DataEntity.isDataEntity(input)) {
|
|
26
|
+
if (metadata) {
|
|
27
|
+
for (const [key, val] of Object.entries(metadata)) {
|
|
28
|
+
input.setMetadata(key, val);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return input;
|
|
32
|
+
}
|
|
33
|
+
return new DataEntity(input, metadata);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A utility for safely converting an input of an object,
|
|
37
|
+
* or an array of objects, to an array of DataEntities.
|
|
38
|
+
* This will detect if passed an already converted input and return it.
|
|
39
|
+
*/
|
|
40
|
+
static makeArray(input) {
|
|
41
|
+
if (!Array.isArray(input)) {
|
|
42
|
+
return [DataEntity.make(input)];
|
|
43
|
+
}
|
|
44
|
+
if (DataEntity.isDataEntityArray(input)) {
|
|
45
|
+
return input;
|
|
46
|
+
}
|
|
47
|
+
return input.map((d) => DataEntity.make(d));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Create a new instance of a DataEntity.
|
|
51
|
+
*
|
|
52
|
+
* If the second param `withData` is set to `true`
|
|
53
|
+
* both the data and metadata will be forked, if set
|
|
54
|
+
* to `false` only the metadata will be copied. Defaults
|
|
55
|
+
* to `true`
|
|
56
|
+
*/
|
|
57
|
+
static fork(input, withData = true) {
|
|
58
|
+
if (!DataEntity.isDataEntity(input)) {
|
|
59
|
+
throw new Error(`Invalid input to fork, expected DataEntity, got ${getTypeOf(input)}`);
|
|
60
|
+
}
|
|
61
|
+
const { _createTime, ...metadata } = input.getMetadata();
|
|
62
|
+
if (withData) {
|
|
63
|
+
return DataEntity.make(input, metadata);
|
|
64
|
+
}
|
|
65
|
+
return DataEntity.make({}, metadata);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* A utility for converting a `Buffer` to a `DataEntity`,
|
|
69
|
+
* using the DataEntity encoding.
|
|
70
|
+
*
|
|
71
|
+
* @param input A `Buffer` to parse to JSON
|
|
72
|
+
* @param opConfig The operation config used to get the encoding type of the Buffer,
|
|
73
|
+
* defaults to "json"
|
|
74
|
+
* @param metadata Optionally add any metadata
|
|
75
|
+
*/
|
|
76
|
+
static fromBuffer(input, opConfig, metadata) {
|
|
77
|
+
const { _encoding = i.DataEncoding.JSON } = opConfig || {};
|
|
78
|
+
if (_encoding === i.DataEncoding.JSON) {
|
|
79
|
+
return DataEntity.make(parseJSON(input), metadata);
|
|
80
|
+
}
|
|
81
|
+
if (_encoding === i.DataEncoding.RAW) {
|
|
82
|
+
const entity = DataEntity.make({}, metadata);
|
|
83
|
+
entity.setRawData(input);
|
|
84
|
+
return entity;
|
|
85
|
+
}
|
|
86
|
+
throw new Error(`Unsupported encoding type, got "${_encoding}"`);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Verify that an input is the `DataEntity`
|
|
90
|
+
*/
|
|
91
|
+
static isDataEntity(input) {
|
|
92
|
+
return isDataEntity(input);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Verify that an input is an Array of DataEntities,
|
|
96
|
+
*/
|
|
97
|
+
static isDataEntityArray(input) {
|
|
98
|
+
if (input == null)
|
|
99
|
+
return false;
|
|
100
|
+
if (!Array.isArray(input))
|
|
101
|
+
return false;
|
|
102
|
+
if (input.length === 0)
|
|
103
|
+
return true;
|
|
104
|
+
return isDataEntity(input[0]);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Safely get the metadata from a `DataEntity`.
|
|
108
|
+
* If the input is object it will get the property from the object
|
|
109
|
+
*
|
|
110
|
+
* **DEPRECATED:** Since this isn't recommended to be used, and will
|
|
111
|
+
* be removed in future releases.
|
|
112
|
+
*
|
|
113
|
+
* @deprecated
|
|
114
|
+
*/
|
|
115
|
+
static getMetadata(input, field) {
|
|
116
|
+
if (input == null)
|
|
117
|
+
return undefined;
|
|
118
|
+
if (DataEntity.isDataEntity(input)) {
|
|
119
|
+
const val = field ? input.getMetadata(field) : input.getMetadata();
|
|
120
|
+
return val;
|
|
121
|
+
}
|
|
122
|
+
return field ? input[field] : undefined;
|
|
123
|
+
}
|
|
124
|
+
static [Symbol.hasInstance](instance) {
|
|
125
|
+
// prevent automatically thinking a base DataEntity is
|
|
126
|
+
// an instance of a class that extends from a DataEntity
|
|
127
|
+
if (this.name !== 'DataEntity' && this.name !== 'Object') {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
return isDataEntity(instance);
|
|
131
|
+
}
|
|
132
|
+
// @ts-expect-error the initializer is set in defineEntityProperties
|
|
133
|
+
[i.__ENTITY_METADATA_KEY];
|
|
134
|
+
// @ts-expect-error the initializer is set in defineEntityProperties
|
|
135
|
+
[i.__IS_DATAENTITY_KEY];
|
|
136
|
+
constructor(data, metadata) {
|
|
137
|
+
if (data && !isSimpleObject(data)) {
|
|
138
|
+
throw new Error(`Invalid data source, must be an object, got "${getTypeOf(data)}"`);
|
|
139
|
+
}
|
|
140
|
+
defineEntityProperties(this);
|
|
141
|
+
// @ts-expect-error the initializer is set in defineEntityProperties
|
|
142
|
+
this[i.__ENTITY_METADATA_KEY].metadata = makeMetadata(metadata);
|
|
143
|
+
if (data) {
|
|
144
|
+
Object.assign(this, data);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
getMetadata(key) {
|
|
148
|
+
if (key) {
|
|
149
|
+
// @ts-expect-error TODO: fixme
|
|
150
|
+
return this[i.__ENTITY_METADATA_KEY].metadata[key];
|
|
151
|
+
}
|
|
152
|
+
return this[i.__ENTITY_METADATA_KEY].metadata;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Given a field and value set the metadata on the record
|
|
156
|
+
*/
|
|
157
|
+
setMetadata(field, value) {
|
|
158
|
+
if (field == null || field === '') {
|
|
159
|
+
throw new Error('Missing field to set in metadata');
|
|
160
|
+
}
|
|
161
|
+
if (field === '_createTime') {
|
|
162
|
+
throw new Error(`Cannot set readonly metadata property ${String(field)}`);
|
|
163
|
+
}
|
|
164
|
+
// @ts-expect-error TODO: fixme
|
|
165
|
+
this[i.__ENTITY_METADATA_KEY].metadata[field] = value;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Get the unique document `_key` from the metadata.
|
|
169
|
+
* If no `_key` is found, an error will be thrown
|
|
170
|
+
*/
|
|
171
|
+
getKey() {
|
|
172
|
+
const key = this[i.__ENTITY_METADATA_KEY].metadata._key;
|
|
173
|
+
if (!isValidKey(key)) {
|
|
174
|
+
throw new Error('No key has been set in the metadata');
|
|
175
|
+
}
|
|
176
|
+
return key;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Set the unique document `_key` from the metadata.
|
|
180
|
+
* If no `_key` is found, an error will be thrown
|
|
181
|
+
*/
|
|
182
|
+
setKey(key) {
|
|
183
|
+
if (!isValidKey(key)) {
|
|
184
|
+
throw new Error('Invalid key to set in metadata');
|
|
185
|
+
}
|
|
186
|
+
this[i.__ENTITY_METADATA_KEY].metadata._key = key;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Get the time at which this entity was created.
|
|
190
|
+
*/
|
|
191
|
+
getCreateTime() {
|
|
192
|
+
const val = this[i.__ENTITY_METADATA_KEY].metadata._createTime;
|
|
193
|
+
const date = getValidDate(val);
|
|
194
|
+
if (date === false) {
|
|
195
|
+
throw new Error('Missing _createTime');
|
|
196
|
+
}
|
|
197
|
+
return date;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Get the time at which the data was ingested into the source data
|
|
201
|
+
*
|
|
202
|
+
* If none is found, `undefined` will be returned.
|
|
203
|
+
* If an invalid date is found, `false` will be returned.
|
|
204
|
+
*/
|
|
205
|
+
getIngestTime() {
|
|
206
|
+
const val = this[i.__ENTITY_METADATA_KEY].metadata._ingestTime;
|
|
207
|
+
if (val == null)
|
|
208
|
+
return undefined;
|
|
209
|
+
return getValidDate(val);
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Set the time at which the data was ingested into the source data
|
|
213
|
+
*
|
|
214
|
+
* If the value is empty it will set the time to now.
|
|
215
|
+
* If an invalid date is given, an error will be thrown.
|
|
216
|
+
*/
|
|
217
|
+
setIngestTime(val) {
|
|
218
|
+
const unixTime = getTime(val);
|
|
219
|
+
if (unixTime === false) {
|
|
220
|
+
throw new Error(`Invalid date format, got ${getTypeOf(val)}`);
|
|
221
|
+
}
|
|
222
|
+
this[i.__ENTITY_METADATA_KEY].metadata._ingestTime = unixTime;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Get the time at which the data was consumed by the reader.
|
|
226
|
+
*
|
|
227
|
+
* If none is found, `undefined` will be returned.
|
|
228
|
+
* If an invalid date is found, `false` will be returned.
|
|
229
|
+
*/
|
|
230
|
+
getProcessTime() {
|
|
231
|
+
const val = this[i.__ENTITY_METADATA_KEY].metadata._ingestTime;
|
|
232
|
+
if (val == null)
|
|
233
|
+
return undefined;
|
|
234
|
+
return getValidDate(val);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Set the time at which the data was consumed by the reader
|
|
238
|
+
*
|
|
239
|
+
* If the value is empty it will set the time to now.
|
|
240
|
+
* If an invalid date is given, an error will be thrown.
|
|
241
|
+
*/
|
|
242
|
+
setProcessTime(val) {
|
|
243
|
+
const unixTime = getTime(val);
|
|
244
|
+
if (unixTime === false) {
|
|
245
|
+
throw new Error(`Invalid date format, got ${getTypeOf(val)}`);
|
|
246
|
+
}
|
|
247
|
+
this[i.__ENTITY_METADATA_KEY].metadata._ingestTime = unixTime;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Get time associated from a specific field on source data or message
|
|
251
|
+
*
|
|
252
|
+
* If none is found, `undefined` will be returned.
|
|
253
|
+
* If an invalid date is found, `false` will be returned.
|
|
254
|
+
*/
|
|
255
|
+
getEventTime() {
|
|
256
|
+
const val = this[i.__ENTITY_METADATA_KEY].metadata._ingestTime;
|
|
257
|
+
if (val == null)
|
|
258
|
+
return undefined;
|
|
259
|
+
return getValidDate(val);
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Set time associated from a specific field on source data or message
|
|
263
|
+
*
|
|
264
|
+
* If the value is empty it will set the time to now.
|
|
265
|
+
* If an invalid date is given, an error will be thrown.
|
|
266
|
+
*/
|
|
267
|
+
setEventTime(val) {
|
|
268
|
+
const unixTime = getTime(val);
|
|
269
|
+
if (unixTime === false) {
|
|
270
|
+
throw new Error(`Invalid date format, got ${getTypeOf(val)}`);
|
|
271
|
+
}
|
|
272
|
+
this[i.__ENTITY_METADATA_KEY].metadata._ingestTime = unixTime;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Get the raw data, usually used for encoding type `raw`.
|
|
276
|
+
* If there is no data, an error will be thrown
|
|
277
|
+
*/
|
|
278
|
+
getRawData() {
|
|
279
|
+
const buf = this[i.__ENTITY_METADATA_KEY].rawData;
|
|
280
|
+
if (isBuffer(buf))
|
|
281
|
+
return buf;
|
|
282
|
+
throw new Error('No data has been set');
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Set the raw data, usually used for encoding type `raw`
|
|
286
|
+
* If given `null`, it will unset the data
|
|
287
|
+
*/
|
|
288
|
+
setRawData(buf) {
|
|
289
|
+
if (buf === null) {
|
|
290
|
+
this[i.__ENTITY_METADATA_KEY].rawData = null;
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
this[i.__ENTITY_METADATA_KEY].rawData = ensureBuffer(buf, 'utf8');
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Convert the DataEntity to an encoded buffer
|
|
297
|
+
*
|
|
298
|
+
* @param opConfig The operation config used to get the encoding type of the buffer,
|
|
299
|
+
* @default `json`
|
|
300
|
+
*/
|
|
301
|
+
toBuffer(opConfig = {}) {
|
|
302
|
+
const { _encoding = i.DataEncoding.JSON } = opConfig;
|
|
303
|
+
if (_encoding === i.DataEncoding.JSON) {
|
|
304
|
+
return jsonToBuffer(this);
|
|
305
|
+
}
|
|
306
|
+
if (_encoding === i.DataEncoding.RAW) {
|
|
307
|
+
return this.getRawData();
|
|
308
|
+
}
|
|
309
|
+
throw new Error(`Unsupported encoding type, got "${_encoding}"`);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
__decorate([
|
|
313
|
+
locked()
|
|
314
|
+
], DataEntity.prototype, "getMetadata", null);
|
|
315
|
+
__decorate([
|
|
316
|
+
locked()
|
|
317
|
+
], DataEntity.prototype, "setMetadata", null);
|
|
318
|
+
__decorate([
|
|
319
|
+
locked()
|
|
320
|
+
], DataEntity.prototype, "getKey", null);
|
|
321
|
+
__decorate([
|
|
322
|
+
locked()
|
|
323
|
+
], DataEntity.prototype, "setKey", null);
|
|
324
|
+
__decorate([
|
|
325
|
+
locked()
|
|
326
|
+
], DataEntity.prototype, "getCreateTime", null);
|
|
327
|
+
__decorate([
|
|
328
|
+
locked()
|
|
329
|
+
], DataEntity.prototype, "getIngestTime", null);
|
|
330
|
+
__decorate([
|
|
331
|
+
locked()
|
|
332
|
+
], DataEntity.prototype, "setIngestTime", null);
|
|
333
|
+
__decorate([
|
|
334
|
+
locked()
|
|
335
|
+
], DataEntity.prototype, "getProcessTime", null);
|
|
336
|
+
__decorate([
|
|
337
|
+
locked()
|
|
338
|
+
], DataEntity.prototype, "setProcessTime", null);
|
|
339
|
+
__decorate([
|
|
340
|
+
locked()
|
|
341
|
+
], DataEntity.prototype, "getEventTime", null);
|
|
342
|
+
__decorate([
|
|
343
|
+
locked()
|
|
344
|
+
], DataEntity.prototype, "setEventTime", null);
|
|
345
|
+
__decorate([
|
|
346
|
+
locked()
|
|
347
|
+
], DataEntity.prototype, "getRawData", null);
|
|
348
|
+
__decorate([
|
|
349
|
+
locked()
|
|
350
|
+
], DataEntity.prototype, "setRawData", null);
|
|
351
|
+
__decorate([
|
|
352
|
+
locked()
|
|
353
|
+
], DataEntity.prototype, "toBuffer", null);
|
|
354
|
+
//# sourceMappingURL=data-entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-entity.js","sourceRoot":"","sources":["../../../src/entities/data-entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export type TYPE_IS_DATAENTITY_KEY = '__isDataEntity';
|
|
2
|
+
export type TYPE_ENTITY_METADATA_KEY = '___EntityMetadata';
|
|
3
|
+
export declare const __IS_DATAENTITY_KEY: TYPE_IS_DATAENTITY_KEY;
|
|
4
|
+
export declare const __ENTITY_METADATA_KEY: TYPE_ENTITY_METADATA_KEY;
|
|
5
|
+
export type _DataEntityMetadataType = DataEntityMetadata | Record<string, any>;
|
|
6
|
+
export type _DataEntityMetadata<M> = M & DataEntityMetadata & Record<string, any>;
|
|
7
|
+
export type DataEntityMetadataValue<M> = (keyof DataEntityMetadata) | (keyof M) | string | number;
|
|
8
|
+
export type EntityMetadataValue<M, K> = K extends (keyof DataEntityMetadata) ? DataEntityMetadata[K] : (K extends (keyof M) ? M[K] : any);
|
|
9
|
+
/**
|
|
10
|
+
* DataEntities have conventional metadata properties
|
|
11
|
+
* that can track source, destination and other process
|
|
12
|
+
* information.
|
|
13
|
+
*
|
|
14
|
+
* **NOTE** Time values are set in UNIX Epoch time,
|
|
15
|
+
* to reduce memory footput, the DataEntity has convenience
|
|
16
|
+
* apis for getting and setting the time given and handling
|
|
17
|
+
* the conversion between unix milliseconds to Date format.
|
|
18
|
+
*/
|
|
19
|
+
export interface DataEntityMetadata {
|
|
20
|
+
/**
|
|
21
|
+
* The time at which this entity was created
|
|
22
|
+
* (this is automatically set on DataEntity creation)
|
|
23
|
+
* @readonly
|
|
24
|
+
*/
|
|
25
|
+
_createTime?: number;
|
|
26
|
+
/** The time at which the data was ingested into the source data */
|
|
27
|
+
_ingestTime?: number;
|
|
28
|
+
/** The time at which the data was consumed by the reader */
|
|
29
|
+
_processTime?: number;
|
|
30
|
+
/**
|
|
31
|
+
* The time associated with this data entity,
|
|
32
|
+
* usually off of a specific field on source data or message
|
|
33
|
+
*/
|
|
34
|
+
_eventTime?: number;
|
|
35
|
+
/** A unique key for the data which will be can be used to key the data */
|
|
36
|
+
_key?: string | number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Available data encoding types for a DataEntity
|
|
40
|
+
*/
|
|
41
|
+
export declare enum DataEncoding {
|
|
42
|
+
JSON = "json",
|
|
43
|
+
RAW = "raw"
|
|
44
|
+
}
|
|
45
|
+
/** an encoding focused interfaces */
|
|
46
|
+
export interface EncodingConfig {
|
|
47
|
+
_op?: string;
|
|
48
|
+
_encoding?: DataEncoding;
|
|
49
|
+
}
|
|
50
|
+
/** A list of supported encoding formats */
|
|
51
|
+
export declare const dataEncodings: readonly DataEncoding[];
|
|
52
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/entities/interfaces.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AACtD,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AAE3D,eAAO,MAAM,mBAAmB,EAAE,sBAAyC,CAAC;AAE5E,eAAO,MAAM,qBAAqB,EAAE,wBAA8C,CAAC;AAEnF,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC/E,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAElF,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAC/B,CAAC,MAAM,kBAAkB,CAAC,GACtB,CAAC,MAAM,CAAC,CAAC,GACT,MAAM,GACN,MAAM,CAAC;AAEjB,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAC9B,CAAC,SAAS,CAAC,MAAM,kBAAkB,CAAC,GAChC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CACtB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GACb,CAAC,CAAC,CAAC,CAAC,GACJ,GAAG,CAAC,CAAC;AAEvB;;;;;;;;;EASE;AACF,MAAM,WAAW,kBAAkB;IAC/B;;;;MAIE;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,oBAAY,YAAY;IACpB,IAAI,SAAS;IACb,GAAG,QAAQ;CACd;AAED,qCAAqC;AACrC,MAAM,WAAW,cAAc;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,YAAY,CAAC;CAC5B;AAED,2CAA2C;AAC3C,eAAO,MAAM,aAAa,EAAE,SAAS,YAAY,EAAgC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const __IS_DATAENTITY_KEY = '__isDataEntity';
|
|
2
|
+
export const __ENTITY_METADATA_KEY = '___EntityMetadata';
|
|
3
|
+
/**
|
|
4
|
+
* Available data encoding types for a DataEntity
|
|
5
|
+
*/
|
|
6
|
+
export var DataEncoding;
|
|
7
|
+
(function (DataEncoding) {
|
|
8
|
+
DataEncoding["JSON"] = "json";
|
|
9
|
+
DataEncoding["RAW"] = "raw";
|
|
10
|
+
})(DataEncoding || (DataEncoding = {}));
|
|
11
|
+
/** A list of supported encoding formats */
|
|
12
|
+
export const dataEncodings = Object.values(DataEncoding);
|
|
13
|
+
//# sourceMappingURL=interfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/entities/interfaces.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,mBAAmB,GAA2B,gBAAgB,CAAC;AAE5E,MAAM,CAAC,MAAM,qBAAqB,GAA6B,mBAAmB,CAAC;AAoDnF;;GAEG;AACH,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,6BAAa,CAAA;IACb,2BAAW,CAAA;AACf,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAQD,2CAA2C;AAC3C,MAAM,CAAC,MAAM,aAAa,GAA4B,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i from './interfaces.js';
|
|
2
|
+
export declare function defineEntityProperties(entity: unknown): void;
|
|
3
|
+
export declare function createMetadata<M>(metadata: M): i._DataEntityMetadata<M>;
|
|
4
|
+
export declare function makeMetadata<M extends i._DataEntityMetadataType>(metadata?: M | undefined): i._DataEntityMetadata<M>;
|
|
5
|
+
export declare function createCoreMetadata<M extends i._DataEntityMetadataType>(): i._DataEntityMetadata<M>;
|
|
6
|
+
export declare function jsonToBuffer(input: unknown): Buffer;
|
|
7
|
+
export declare function isValidKey(key: unknown): key is string | number;
|
|
8
|
+
export declare function isDataEntity(input: unknown): boolean;
|
|
9
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/entities/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AAErC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAc5D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAEvE;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,uBAAuB,EAC5D,QAAQ,CAAC,EAAE,CAAC,GAAG,SAAS,GACzB,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAG1B;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,uBAAuB,KACnE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAE1B;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEnD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,GAAG,MAAM,CAK/D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { isString } from '../strings.js';
|
|
2
|
+
import { isNumber } from '../numbers.js';
|
|
3
|
+
import * as i from './interfaces.js';
|
|
4
|
+
export function defineEntityProperties(entity) {
|
|
5
|
+
Object.defineProperty(entity, i.__IS_DATAENTITY_KEY, {
|
|
6
|
+
value: true,
|
|
7
|
+
configurable: false,
|
|
8
|
+
enumerable: false,
|
|
9
|
+
writable: false,
|
|
10
|
+
});
|
|
11
|
+
Object.defineProperty(entity, i.__ENTITY_METADATA_KEY, {
|
|
12
|
+
value: {},
|
|
13
|
+
configurable: false,
|
|
14
|
+
enumerable: false,
|
|
15
|
+
writable: false,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
export function createMetadata(metadata) {
|
|
19
|
+
return { ...createCoreMetadata(), ...metadata };
|
|
20
|
+
}
|
|
21
|
+
export function makeMetadata(metadata) {
|
|
22
|
+
if (!metadata)
|
|
23
|
+
return createCoreMetadata();
|
|
24
|
+
return createMetadata(metadata);
|
|
25
|
+
}
|
|
26
|
+
export function createCoreMetadata() {
|
|
27
|
+
return { _createTime: Date.now() };
|
|
28
|
+
}
|
|
29
|
+
export function jsonToBuffer(input) {
|
|
30
|
+
return Buffer.from(JSON.stringify(input));
|
|
31
|
+
}
|
|
32
|
+
export function isValidKey(key) {
|
|
33
|
+
if (key == null)
|
|
34
|
+
return false;
|
|
35
|
+
if (isString(key) && key !== '')
|
|
36
|
+
return true;
|
|
37
|
+
if (isNumber(key))
|
|
38
|
+
return true;
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
export function isDataEntity(input) {
|
|
42
|
+
return Boolean(input != null && input[i.__IS_DATAENTITY_KEY] === true);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/entities/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAC;AAErC,MAAM,UAAU,sBAAsB,CAAC,MAAe;IAClD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,mBAAmB,EAAE;QACjD,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,qBAAqB,EAAE;QACnD,KAAK,EAAE,EAAE;QACT,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;KAClB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,cAAc,CAAI,QAAW;IACzC,OAAO,EAAE,GAAG,kBAAkB,EAAE,EAAE,GAAG,QAAQ,EAA8B,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,YAAY,CACxB,QAAwB;IAExB,IAAI,CAAC,QAAQ;QAAE,OAAO,kBAAkB,EAAE,CAAC;IAC3C,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB;IAE9B,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAA8B,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAY;IACnC,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACvC,OAAO,OAAO,CAAC,KAAK,IAAI,IAAI,IAAK,KAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC,CAAC;AACpF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,MAAM,SAAiE,CAAC;AACrF,eAAO,MAAM,MAAM,SAAkC,CAAC;AACtD,eAAO,MAAM,KAAK,SAAyC,CAAC;AAC5D,eAAO,MAAM,IAAI,SAA4B,CAAC;AAE9C,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOnD"}
|
package/dist/src/env.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { fileURLToPath } from 'node:url';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
export const isProd = !process.env.NODE_ENV || process.env.NODE_ENV === 'production';
|
|
4
|
+
export const isTest = process.env.NODE_ENV === 'test';
|
|
5
|
+
export const isDev = process.env.NODE_ENV === 'development';
|
|
6
|
+
export const isCI = process.env.CI === 'true';
|
|
7
|
+
export function isExecutedFile(url) {
|
|
8
|
+
if (url.startsWith('file:')) {
|
|
9
|
+
const modulePath = fileURLToPath(url);
|
|
10
|
+
const mainPath = fs.realpathSync(process.argv[1]);
|
|
11
|
+
return mainPath === modulePath;
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AACrF,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;AACtD,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAC5D,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC;AAE9C,MAAM,UAAU,cAAc,CAAC,GAAW;IACtC,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,QAAQ,KAAK,UAAU,CAAC;IACnC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify that two values are the same (uses a reference check).
|
|
3
|
+
* Similar to === except two NaNs is considered the same
|
|
4
|
+
* For deep equality use isDeepEqual
|
|
5
|
+
*/
|
|
6
|
+
export declare function isEqual<T>(target: T, input: unknown): input is T;
|
|
7
|
+
export declare function isEqual<T>(target: T, input: unknown): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* A functional version of isEqual
|
|
10
|
+
*/
|
|
11
|
+
export declare function isEqualFP<T>(target: T): (input: unknown) => input is T;
|
|
12
|
+
export declare function isEqualFP<T>(target: T): (input: unknown) => boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Compares two values and returns a boolean if they are the same.
|
|
15
|
+
* Arrays are compared using original sorting, while object key ordering
|
|
16
|
+
* doesn't matter.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
isDeepEqual({ key1: 1, key2: 2 }, { key2: 2, key1: 1 }) === true;
|
|
20
|
+
isDeepEqual(null, null) === true;
|
|
21
|
+
isDeepEqual(undefined, undefined) === true;
|
|
22
|
+
isDeepEqual(NaN, NaN) === true;
|
|
23
|
+
isDeepEqual(3, 3) === true
|
|
24
|
+
isDeepEqual('hello', 'hello') === true
|
|
25
|
+
isDeepEqual([1, 2, 3], [1, 2, 3]) === true
|
|
26
|
+
isDeepEqual([{ some: 'obj' }], [{ some: 'obj' }]) === true
|
|
27
|
+
|
|
28
|
+
isDeepEqual(undefined, null) === false;
|
|
29
|
+
isDeepEqual([1, 2, 3], [1, 3, 2]) === false
|
|
30
|
+
isDeepEqual([1, 2, 3], [1, 2, undefined, 3]) === false
|
|
31
|
+
isDeepEqual(true, 'true') === false;
|
|
32
|
+
*/
|
|
33
|
+
export declare function isDeepEqual<T>(target: T, input: unknown): input is T;
|
|
34
|
+
export declare function isDeepEqual<T>(target: T, input: unknown): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* A functional version of isDeepEqual
|
|
37
|
+
*/
|
|
38
|
+
export declare function isDeepEqualFP<T>(target: T): (input: unknown) => input is T;
|
|
39
|
+
export declare function isDeepEqualFP<T>(target: T): (input: unknown) => boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Check if a value is greater than or equal to another
|
|
42
|
+
*/
|
|
43
|
+
export declare function isGreaterThanOrEqualTo(value: unknown, other: unknown): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Check if a value is greater than or equal to another
|
|
46
|
+
*/
|
|
47
|
+
export declare function isGreaterThanOrEqualToFP(other: unknown): (value: unknown) => boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Check if a value is greater than another
|
|
50
|
+
*/
|
|
51
|
+
export declare function isGreaterThan(value: unknown, other: unknown): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Check if a value is greater than or equal to another
|
|
54
|
+
*/
|
|
55
|
+
export declare function isGreaterThanFP(other: unknown): (value: unknown) => boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Check if a value is less than or equal to another
|
|
58
|
+
*/
|
|
59
|
+
export declare function isLessThanOrEqualTo(value: unknown, other: unknown): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Check if a value is less than or equal to another
|
|
62
|
+
*/
|
|
63
|
+
export declare function isLessThanOrEqualToFP(other: unknown): (value: unknown) => boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Check if a value is less than another
|
|
66
|
+
*/
|
|
67
|
+
export declare function isLessThan(value: unknown, other: unknown): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Check if a value is greater than or equal to another
|
|
70
|
+
*/
|
|
71
|
+
export declare function isLessThanFP(other: unknown): (value: unknown) => boolean;
|
|
72
|
+
//# sourceMappingURL=equality.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"equality.d.ts","sourceRoot":"","sources":["../../src/equality.ts"],"names":[],"mappings":"AAIA;;;;EAIE;AACF,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC;AAClE,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;AAK/D;;EAEE;AACF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC;AACxE,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;AAKrE;;;;;;;;;;;;;;;;;;;EAmBE;AAEF,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC;AACtE,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;AAoBnE;;EAEE;AACF,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC;AAC5E,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;AAwBzE;;EAEE;AACF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAI9E;AAED;;EAEE;AACF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAMpF;AAED;;EAEE;AACF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAIrE;AAED;;EAEE;AACF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAM3E;AAED;;EAEE;AACF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAI3E;AAED;;EAEE;AACF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAMjF;AAED;;EAEE;AACF,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAIlE;AAED;;EAEE;AACF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAMxE"}
|