@terascope/data-mate 2.10.1 → 2.11.1

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.
@@ -121,4 +121,6 @@ export * from './vector/index.js';
121
121
  export { FieldTransform, RecordTransform, jexl };
122
122
  export * from './adapters/index.js';
123
123
  export * from './function-configs/index.js';
124
+ export { makeRandomDataSet } from './random-DT-data-generator/make-dt-data-set.js';
125
+ export { makeRandomDataFunctionForField } from './random-DT-data-generator/make-dt-field-fn.js';
124
126
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EACH,IAAI,EAEP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACH,cAAc,IAAI,UAAU,EAE/B,MAAM,uBAAuB,CAAC;AAI/B,QAAA,MAAM,cAAc;;;;;;eA6EspO,CAAC;;;;;;;;;;;;;;;;;;;;;;;mBAA2vV,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAA4rmB,CAAC;;;;;;;;;;CA3EnmqC,CAAC;AAIF,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;CAEpB,CAAC;AAIF,OAAO,QAAQ,2CAA2C,CAAC;IACvD,UAAU,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACpD;;;UAGE;QACF,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;KACnC;CACJ;AAoCD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACH,cAAc,EACd,eAAe,EACf,IAAI,EACP,CAAC;AAEF,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EACH,IAAI,EAEP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACH,cAAc,IAAI,UAAU,EAE/B,MAAM,uBAAuB,CAAC;AAI/B,QAAA,MAAM,cAAc;;;;;;eAgFg+N,CAAC;;;;;;;;;;;;;;;;;;;;;;;mBAA2vV,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAA4rmB,CAAC;;;;;;;;;;CA9E76pC,CAAC;AAIF,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;CAEpB,CAAC;AAIF,OAAO,QAAQ,2CAA2C,CAAC;IACvD,UAAU,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACpD;;;UAGE;QACF,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;KACnC;CACJ;AAoCD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACH,cAAc,EACd,eAAe,EACf,IAAI,EACP,CAAC;AAEF,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC"}
package/dist/src/index.js CHANGED
@@ -53,4 +53,6 @@ export * from './vector/index.js';
53
53
  export { FieldTransform, RecordTransform, jexl };
54
54
  export * from './adapters/index.js';
55
55
  export * from './function-configs/index.js';
56
+ export { makeRandomDataSet } from './random-DT-data-generator/make-dt-data-set.js';
57
+ export { makeRandomDataFunctionForField } from './random-DT-data-generator/make-dt-field-fn.js';
56
58
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EACH,IAAI,EAAE,OAAO,EAAE,aAAa,EAC5B,eAAe,EAAE,qBAAqB,EACzC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACH,cAAc,IAAI,UAAU,EAC5B,eAAe,IAAI,UAAU,EAChC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE3E,gEAAgE;AAChE,MAAM,cAAc,GAAG;IACnB,GAAG,UAAU;CAChB,CAAC;AACF,cAAc,CAAC,UAAU,CAAC,OAAO,GAAG,aAAa,CAAC;AAClD,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;AAEjC,MAAM,eAAe,GAAG;IACpB,GAAG,UAAU;CAChB,CAAC;AACF,eAAe,CAAC,UAAU,CAAC,eAAe,GAAG,qBAAqB,CAAC;AACnE,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC;AAalD,gBAAgB,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,UAAU,GAAG;IAC/C,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IAErB,IAAI,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAc,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;KAC1B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAW,CAAC;IAC7B,IAAI,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC/B,SAAS,GAAG,SAAS,CAAC,OAAO,CACzB,QAAQ,CAAC,WAAW,CACvB,CAAC;IACN,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QAC1B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAC5E,KAAK,MAAM,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;IACjE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACrD,gBAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,GAAG,EAAE;YAC/C,MAAM,IAAI,KAAK,CACX,yBAAyB,MAAM,CAAC,eAAe,CAAC;kEACE,CACrD,CAAC;QACN,CAAC,CAAC;IACN,CAAC;AACL,CAAC;AAED,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACH,cAAc,EACd,eAAe,EACf,IAAI,EACP,CAAC;AAEF,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EACH,IAAI,EAAE,OAAO,EAAE,aAAa,EAC5B,eAAe,EAAE,qBAAqB,EACzC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACH,cAAc,IAAI,UAAU,EAC5B,eAAe,IAAI,UAAU,EAChC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE3E,gEAAgE;AAChE,MAAM,cAAc,GAAG;IACnB,GAAG,UAAU;CAChB,CAAC;AACF,cAAc,CAAC,UAAU,CAAC,OAAO,GAAG,aAAa,CAAC;AAClD,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;AAEjC,MAAM,eAAe,GAAG;IACpB,GAAG,UAAU;CAChB,CAAC;AACF,eAAe,CAAC,UAAU,CAAC,eAAe,GAAG,qBAAqB,CAAC;AACnE,eAAe,CAAC,eAAe,GAAG,eAAe,CAAC;AAalD,gBAAgB,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,UAAU,GAAG;IAC/C,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IAErB,IAAI,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAc,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;KAC1B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAW,CAAC;IAC7B,IAAI,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC/B,SAAS,GAAG,SAAS,CAAC,OAAO,CACzB,QAAQ,CAAC,WAAW,CACvB,CAAC;IACN,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QAC1B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;IACb,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAC5E,KAAK,MAAM,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;IACjE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACrD,gBAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,GAAG,EAAE;YAC/C,MAAM,IAAI,KAAK,CACX,yBAAyB,MAAM,CAAC,eAAe,CAAC;kEACE,CACrD,CAAC;QACN,CAAC,CAAC;IACN,CAAC;AACL,CAAC;AAED,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACH,cAAc,EACd,eAAe,EACf,IAAI,EACP,CAAC;AAEF,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { DTConfigWithDataGenOpts } from '@terascope/types';
2
+ /**
3
+ * Generates an array of records based on the data type field config of count
4
+ */
5
+ export declare function makeRandomDataSet(fields: DTConfigWithDataGenOpts['fields'], total?: number, isStressTest?: boolean): Record<string, any>[] | undefined;
6
+ //# sourceMappingURL=make-dt-data-set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-dt-data-set.d.ts","sourceRoot":"","sources":["../../../src/random-DT-data-generator/make-dt-data-set.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAI3D;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC,EACzC,KAAK,SAAI,EACT,YAAY,UAAQ,GACrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,SAAS,CA2BnC"}
@@ -0,0 +1,133 @@
1
+ import { hasOwn, isEmpty } from '@terascope/core-utils';
2
+ import { FieldType } from '@terascope/types';
3
+ import { makeRandomDataFunctionForField } from './make-dt-field-fn.js';
4
+ import { getChildDataTypeConfig } from '../index.js';
5
+ /**
6
+ * Generates an array of records based on the data type field config of count
7
+ */
8
+ export function makeRandomDataSet(fields, total = 3, isStressTest = false) {
9
+ if (isEmpty(fields))
10
+ return;
11
+ const { fns, parents } = collectFieldFnsAndParents(fields);
12
+ const makeField = () => {
13
+ const record = {};
14
+ for (const key in fns) {
15
+ if (!Object.hasOwn(fns, key))
16
+ continue;
17
+ record[key] = fns[key]();
18
+ }
19
+ populateParentFields(record, parents);
20
+ return record;
21
+ };
22
+ const stressTestRecord = isStressTest
23
+ ? makeField()
24
+ : undefined;
25
+ const records = [];
26
+ for (let i = 0; i < total; i++) {
27
+ records.push(stressTestRecord || makeField());
28
+ }
29
+ return records;
30
+ }
31
+ const validParentTypes = {
32
+ [FieldType.Object]: true,
33
+ [FieldType.Tuple]: true
34
+ };
35
+ const parentTypesStr = Object.keys(validParentTypes).join(', ');
36
+ /**
37
+ * Loops through fields, creating functions to generate data, unless the field has
38
+ * child fields - then it will populate after the child fields have been created
39
+ */
40
+ function collectFieldFnsAndParents(fields) {
41
+ const fns = {};
42
+ const parents = [];
43
+ for (const field in fields) {
44
+ if (hasOwn(fields, field)) {
45
+ const config = fields[field];
46
+ const children = getChildDataTypeConfig(fields, field, config.type);
47
+ if (children && validParentTypes[config.type]) {
48
+ parents.push({ field, type: config.type });
49
+ }
50
+ else {
51
+ fns[field] = makeRandomDataFunctionForField(config, field);
52
+ }
53
+ }
54
+ }
55
+ return { fns, parents };
56
+ }
57
+ function populateParentFields(record, parents) {
58
+ const objects = [];
59
+ const tuples = [];
60
+ const unknown = [];
61
+ parents.forEach(({ field, type }) => {
62
+ let ary = unknown;
63
+ if (type === 'Object')
64
+ ary = objects;
65
+ if (type === 'Tuple')
66
+ ary = tuples;
67
+ ary.push(field);
68
+ });
69
+ if (objects.length) {
70
+ populateParentObjects(record, objects);
71
+ }
72
+ if (tuples.length) {
73
+ populateParentTuples(record, tuples);
74
+ }
75
+ if (unknown.length) {
76
+ const msg = `Received fields w/children ${unknown.join(',')}. Child support currently only available for ${parentTypesStr} field types.`;
77
+ console.error(msg);
78
+ }
79
+ }
80
+ function populateParentTuples(record, tupleFields) {
81
+ for (const tuple of tupleFields) {
82
+ const values = [];
83
+ for (const [key, value] of Object.entries(record)) {
84
+ if (!key.startsWith(tuple + '.'))
85
+ continue;
86
+ const indexStr = key.slice(tuple.length + 1);
87
+ const index = Number(indexStr);
88
+ if (!Number.isNaN(index)) {
89
+ values[index] = value;
90
+ }
91
+ }
92
+ record[tuple] = values;
93
+ }
94
+ }
95
+ function populateParentObjects(record, objFields) {
96
+ for (const objField of objFields) {
97
+ record[objField] = {};
98
+ let found = false;
99
+ for (const [key, value] of Object.entries(record)) {
100
+ if (!key.startsWith(`${objField}.`))
101
+ continue;
102
+ // Remove prefix from nested object path
103
+ const nestedPath = key.slice(objField.length + 1);
104
+ setNestedField(record[objField], nestedPath, value);
105
+ found = true;
106
+ }
107
+ if (!found) {
108
+ addEmptyObject(record, objField);
109
+ }
110
+ }
111
+ }
112
+ function setNestedField(obj, path, value) {
113
+ const keys = path.split('.');
114
+ let current = obj;
115
+ for (let i = 0; i < keys.length - 1; i++) {
116
+ const key = keys[i];
117
+ current[key] ??= {};
118
+ current = current[key];
119
+ }
120
+ current[keys[keys.length - 1]] = value;
121
+ }
122
+ /** ensure empty objects are added to the record - i.e. a.b.c -> a: { b: { c: {} } } */
123
+ function addEmptyObject(record, path) {
124
+ const keys = path.split('.');
125
+ let current = record;
126
+ for (const key of keys) {
127
+ if (current[key] == null) {
128
+ current[key] = {};
129
+ }
130
+ current = current[key];
131
+ }
132
+ }
133
+ //# sourceMappingURL=make-dt-data-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-dt-data-set.js","sourceRoot":"","sources":["../../../src/random-DT-data-generator/make-dt-data-set.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { DTFieldConfigWithDataGenOpts } from '@terascope/types';
2
+ /**
3
+ * Returns a function that can be called to create a data type field
4
+ */
5
+ export declare function makeRandomDataFunctionForField(config: DTFieldConfigWithDataGenOpts, field: string): () => any;
6
+ //# sourceMappingURL=make-dt-field-fn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-dt-field-fn.d.ts","sourceRoot":"","sources":["../../../src/random-DT-data-generator/make-dt-field-fn.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAczF;;GAEG;AACH,wBAAgB,8BAA8B,CAC1C,MAAM,EAAE,4BAA4B,EACpC,KAAK,EAAE,MAAM,GACd,MAAM,GAAG,CAkJX"}
@@ -0,0 +1,228 @@
1
+ import { FieldType, GeoShapeType } from '@terascope/types';
2
+ import { formatDateValue } from '@terascope/core-utils';
3
+ import { toCIDR } from '@terascope/ip-utils';
4
+ import { Chance } from 'chance';
5
+ import { faker } from '@faker-js/faker';
6
+ import { randomPoint, randomPolygon } from '@turf/random';
7
+ import Randexp from 'randexp';
8
+ import { fineTuneNumericField, fineTuneTextField, isNonStringFieldType, isNumericFieldType, isTextFieldType } from './utils.js';
9
+ const chance = new Chance();
10
+ /**
11
+ * Returns a function that can be called to create a data type field
12
+ */
13
+ export function makeRandomDataFunctionForField(config, field) {
14
+ const { type, array, dimension: vectorSize = 4, ...opts } = config;
15
+ if (config.locale) {
16
+ console.error(`Locale may not be supported`);
17
+ }
18
+ if (config.format && config.type !== FieldType.Date) {
19
+ console.error(`Format currently only supported for date fields`);
20
+ }
21
+ if (opts.customize?.fn) {
22
+ if (opts.randomExpression)
23
+ console.error('Cannot use random');
24
+ const fn = opts.customize.fn;
25
+ return () => fn();
26
+ }
27
+ if (opts.customize?.randomExpression) {
28
+ if (isNonStringFieldType(type)) {
29
+ console.error(`Ensure your field config should have a random expression, received non-string type "${type}" for field "${field}"`);
30
+ }
31
+ const randExp = opts.customize.randomExpression;
32
+ const prefix = opts.customize.randomExpressionPrefix || '';
33
+ return () => `${prefix}${new Randexp(randExp).gen()}`;
34
+ }
35
+ // NOTE: arrow fn to avoid losing chance binding
36
+ const dataFnForFieldType = {
37
+ [FieldType.Any]: () => chance.pickone([
38
+ chance.word(),
39
+ chance.bool(),
40
+ { animal: chance.animal(), name: chance.name() }
41
+ ]),
42
+ [FieldType.Binary]: () => Buffer.from(chance.word()), // base64
43
+ [FieldType.Boolean]: () => chance.bool(),
44
+ [FieldType.Boundary]: () => createPolygon(config),
45
+ [FieldType.Byte]: () => createInteger(config, -128, 127),
46
+ [FieldType.Date]: () => createDate(config),
47
+ [FieldType.Domain]: () => chance.domain(),
48
+ [FieldType.Double]: () => createFloat(config), // 64-bit IEEE 754 finite
49
+ [FieldType.Float]: () => createFloat(config), // 32-bit IEEE 754 finite
50
+ [FieldType.Geo]: () => createGeoPoint(config),
51
+ [FieldType.GeoJSON]: () => createGeoJSON(config),
52
+ [FieldType.GeoPoint]: () => createGeoPoint(config),
53
+ [FieldType.Hostname]: () => faker.internet.domainName().split('.')[0],
54
+ [FieldType.IP]: () => {
55
+ if (opts.ipType === 'v6')
56
+ return chance.ipv6();
57
+ if (opts.ipType === 'v4')
58
+ return chance.ip();
59
+ return chance.pickone([
60
+ chance.ip(),
61
+ chance.ipv6(),
62
+ '::0.0.0.1',
63
+ '::1',
64
+ ]);
65
+ },
66
+ [FieldType.IPRange]: () => {
67
+ if (opts.ipType === 'v6')
68
+ return toCIDR(chance.ipv6(), 128);
69
+ if (opts.ipType === 'v4')
70
+ return toCIDR(chance.ip(), 32);
71
+ return chance.pickone([
72
+ toCIDR(chance.ip(), 32),
73
+ toCIDR(chance.ipv6(), 128),
74
+ '::1/128',
75
+ ]);
76
+ },
77
+ [FieldType.Integer]: () => createInteger(config), // -2^31 to 2^31 - 1
78
+ [FieldType.Keyword]: () => chance.word(),
79
+ [FieldType.KeywordCaseInsensitive]: () => chance.word(),
80
+ [FieldType.KeywordPathAnalyzer]: () => chance.word(),
81
+ [FieldType.KeywordTokens]: () => chance.word(),
82
+ [FieldType.KeywordTokensCaseInsensitive]: () => chance.word(),
83
+ [FieldType.Long]: () => createInteger(config), // -2^63 to 2^63 - 1
84
+ [FieldType.NgramTokens]: () => `${chance.letter()}${chance.letter()}`,
85
+ [FieldType.Number]: () => createFloat(config),
86
+ [FieldType.Object]: () => {
87
+ const keyLength = chance.integer({
88
+ min: opts.numbers?.min || 1,
89
+ max: opts.numbers?.max || 5
90
+ });
91
+ const obj = {};
92
+ for (let i = 0; i < keyLength; i++) {
93
+ const key = chance.word();
94
+ const valueFn = chance.pickone([
95
+ chance.word, chance.integer, chance.bool
96
+ ]);
97
+ obj[key] = valueFn();
98
+ }
99
+ return obj;
100
+ },
101
+ [FieldType.Short]: () => createInteger(config, -32768, 32768),
102
+ [FieldType.String]: () => chance.word(),
103
+ [FieldType.Text]: () => chance.word(),
104
+ [FieldType.Tuple]: () => {
105
+ const keyLength = chance.integer({
106
+ min: opts.numbers?.min || 1,
107
+ max: opts.numbers?.max || 5
108
+ });
109
+ const tuple = [];
110
+ for (let i = 0; i < keyLength; i++) {
111
+ const valueFn = chance.pickone([
112
+ chance.word, chance.integer, chance.bool
113
+ ]);
114
+ tuple.push(valueFn());
115
+ }
116
+ return tuple;
117
+ },
118
+ [FieldType.Vector]: () => {
119
+ const vectors = [];
120
+ for (let i = 0; i < vectorSize; i++) {
121
+ vectors.push(chance.floating({
122
+ min: opts.numbers?.min || 0,
123
+ max: opts.numbers?.max || 40,
124
+ fixed: opts.numbers?.precision || 2
125
+ }));
126
+ }
127
+ return vectors;
128
+ }
129
+ };
130
+ console.error('===fn', type);
131
+ let fn = dataFnForFieldType[type] || (() => 'UNKNOWN');
132
+ if (isTextFieldType(config.type)) {
133
+ fn = fineTuneTextField(field, fn, config, chance);
134
+ }
135
+ if (isNumericFieldType(config.type)) {
136
+ fn = fineTuneNumericField(field, fn, config, chance);
137
+ }
138
+ if (array && type !== FieldType.Vector) {
139
+ return () => {
140
+ const count = chance.integer({
141
+ max: opts.numbers?.min || 10,
142
+ min: opts.numbers?.max || 1
143
+ });
144
+ const results = [];
145
+ for (let i = 0; i < count; i++) {
146
+ results.push(fn());
147
+ }
148
+ return results;
149
+ };
150
+ }
151
+ return fn;
152
+ }
153
+ function createPolygon(fieldConfig) {
154
+ const { geometryCount, boundingBox, maxRadius, vertices } = fieldConfig.geo || {};
155
+ const coordinates = randomPolygon(geometryCount, {
156
+ bbox: boundingBox,
157
+ max_radial_length: maxRadius,
158
+ num_vertices: vertices
159
+ }).features[0].geometry.coordinates;
160
+ return coordinates.map((el) => {
161
+ const [lon, lat] = el;
162
+ return { lat, lon };
163
+ });
164
+ }
165
+ function createGeoPoint(fieldConfig) {
166
+ const point = randomPoint(fieldConfig.geo?.geometryCount, { bbox: fieldConfig.geo?.boundingBox });
167
+ const [longitude, latitude] = point.features[0].geometry.coordinates;
168
+ return { latitude, longitude };
169
+ }
170
+ // fixme intersects / x% within box / x% outside
171
+ function createGeoJSON(fieldConfig) {
172
+ const { geometryCount, boundingBox, vertices, maxRadius } = fieldConfig.geo || {};
173
+ const geoType = fieldConfig.geo?.type || chance.pickone(Object.values(GeoShapeType));
174
+ const polygonOpts = {
175
+ bbox: boundingBox,
176
+ max_radial_length: maxRadius,
177
+ num_vertices: vertices
178
+ };
179
+ if (geoType === GeoShapeType.Point) {
180
+ return randomPoint(geometryCount, { bbox: boundingBox }).features[0].geometry;
181
+ }
182
+ if (geoType === GeoShapeType.Polygon) {
183
+ return randomPolygon(geometryCount, polygonOpts).features[0].geometry;
184
+ }
185
+ const numPolygons = geometryCount || chance.integer({
186
+ max: fieldConfig.numbers?.max || 5,
187
+ min: fieldConfig.numbers?.min || 1
188
+ });
189
+ const polygons = randomPolygon(numPolygons, polygonOpts);
190
+ const multiCoords = [];
191
+ polygons.features.forEach((feat) => {
192
+ multiCoords.push(feat.geometry.coordinates);
193
+ });
194
+ return {
195
+ type: GeoShapeType.MultiPolygon,
196
+ coordinates: multiCoords
197
+ };
198
+ }
199
+ function createFloat(fieldConfig) {
200
+ return chance.floating({
201
+ min: fieldConfig.numbers?.min,
202
+ max: fieldConfig.numbers?.max,
203
+ fixed: fieldConfig.numbers?.precision
204
+ });
205
+ }
206
+ function createInteger(fieldConfig, min, max) {
207
+ return chance.integer({
208
+ min: fieldConfig.numbers?.min || min,
209
+ max: fieldConfig.numbers?.max || max
210
+ });
211
+ }
212
+ function createDate(fieldConfig) {
213
+ let date;
214
+ if (fieldConfig.numbers?.min || fieldConfig.numbers?.max) {
215
+ date = faker.date.between({
216
+ from: fieldConfig.numbers?.min || Date.now(),
217
+ to: fieldConfig.numbers?.max || Date.now()
218
+ });
219
+ }
220
+ else {
221
+ date = chance.birthday();
222
+ }
223
+ if (fieldConfig.format) {
224
+ return formatDateValue(date, fieldConfig.format);
225
+ }
226
+ return date.toISOString();
227
+ }
228
+ //# sourceMappingURL=make-dt-field-fn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-dt-field-fn.js","sourceRoot":"","sources":["../../../src/random-DT-data-generator/make-dt-field-fn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { DeprecatedFieldType, FieldType, DTFieldConfigWithDataGenOpts } from '@terascope/types';
2
+ export declare function isNonStringFieldType(type: FieldType | DeprecatedFieldType): boolean;
3
+ export declare function isNumericFieldType(type: FieldType | DeprecatedFieldType): boolean;
4
+ export declare function isTextFieldType(type: FieldType | DeprecatedFieldType): boolean;
5
+ export declare function fineTuneNumericField(field: string, originalFn: () => any, fieldConfig: DTFieldConfigWithDataGenOpts, chance: Chance.Chance): (() => any);
6
+ export declare function fineTuneTextField(field: string, originalFn: () => any, fildConfig: DTFieldConfigWithDataGenOpts, chance: Chance.Chance): (() => any);
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/random-DT-data-generator/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EAAE,SAAS,EAC9B,4BAA4B,EAE/B,MAAM,kBAAkB,CAAC;AAG1B,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,mBAAmB,WAmBzE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,mBAAmB,WAWvE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,mBAAmB,WAWpE;AAED,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GAAG,EACrB,WAAW,EAAE,4BAA4B,EACzC,MAAM,EAAE,MAAM,CAAC,MAAM,GACtB,CAAC,MAAM,GAAG,CAAC,CAyBb;AAED,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GAAG,EACrB,UAAU,EAAE,4BAA4B,EACxC,MAAM,EAAE,MAAM,CAAC,MAAM,GACtB,CAAC,MAAM,GAAG,CAAC,CAIb"}
@@ -0,0 +1,248 @@
1
+ import { FieldType } from '@terascope/types';
2
+ import { faker } from '@faker-js/faker';
3
+ export function isNonStringFieldType(type) {
4
+ const nonTextFields = [
5
+ FieldType.Boolean,
6
+ FieldType.Boundary,
7
+ FieldType.Byte,
8
+ FieldType.Double,
9
+ FieldType.Float,
10
+ FieldType.GeoJSON,
11
+ FieldType.GeoPoint,
12
+ FieldType.Geo,
13
+ FieldType.Integer,
14
+ FieldType.Long,
15
+ FieldType.Number,
16
+ FieldType.Object,
17
+ FieldType.Short,
18
+ FieldType.Tuple,
19
+ FieldType.Vector
20
+ ];
21
+ return nonTextFields.includes(type);
22
+ }
23
+ export function isNumericFieldType(type) {
24
+ const numericTypes = [
25
+ FieldType.Short,
26
+ FieldType.Number,
27
+ FieldType.Long,
28
+ FieldType.Float,
29
+ FieldType.Integer,
30
+ FieldType.Double,
31
+ FieldType.Byte
32
+ ];
33
+ return numericTypes.includes(type);
34
+ }
35
+ export function isTextFieldType(type) {
36
+ const numericTypes = [
37
+ FieldType.Text,
38
+ FieldType.String,
39
+ FieldType.Keyword,
40
+ FieldType.KeywordCaseInsensitive,
41
+ FieldType.KeywordPathAnalyzer,
42
+ FieldType.KeywordTokens,
43
+ FieldType.KeywordTokensCaseInsensitive,
44
+ ];
45
+ return numericTypes.includes(type);
46
+ }
47
+ export function fineTuneNumericField(field, originalFn, fieldConfig, chance) {
48
+ const fn = originalFn;
49
+ const { min, max, precision } = fieldConfig.numbers || {};
50
+ const things = [
51
+ ['age', chance.age],
52
+ ['altitude', () => chance.altitude({ min: min, max: max, fixed: precision })],
53
+ ['depth', () => chance.depth({ min: min, max: max, fixed: precision })],
54
+ ['hour', chance.hour],
55
+ ['latitude', () => chance.latitude({ min: min, max: max, fixed: precision })],
56
+ ['longitude', () => chance.longitude({ min: min, max: max, fixed: precision })],
57
+ ['millisecond', chance.millisecond],
58
+ ['minute', chance.minute],
59
+ ['second', chance.second],
60
+ ['timestamp', chance.timestamp]
61
+ ];
62
+ const found = things.find((thing) => field.includes(thing[0]));
63
+ if (found)
64
+ return found?.[1];
65
+ if (field.includes('year')) {
66
+ return () => Number(chance.year({ min: min, max: max }));
67
+ }
68
+ return fn;
69
+ }
70
+ export function fineTuneTextField(field, originalFn, fildConfig, chance) {
71
+ const categoryFn = getTextFieldFn(field, chance, fildConfig);
72
+ return categoryFn || originalFn;
73
+ }
74
+ function getTextFieldFn(field, chance, fildConfig) {
75
+ const { category, library } = fildConfig.text || {};
76
+ const { max, min, precision } = fildConfig.numbers || {};
77
+ const things = [
78
+ ['first', chance.first],
79
+ ['last', chance.last],
80
+ // NAME - if no first/last
81
+ ['name',
82
+ {
83
+ book: faker.book.title,
84
+ company: faker.company.name,
85
+ file: faker.system.fileName,
86
+ music: faker.music.songName,
87
+ person: chance.name,
88
+ pet: faker.animal.petName,
89
+ }[category] || chance.name
90
+ ],
91
+ // list animals, then animal last
92
+ ['bear', faker.animal.bear],
93
+ ['bird', faker.animal.bird],
94
+ ['cat', faker.animal.cat],
95
+ ['cetacean', faker.animal.cetacean],
96
+ ['marinemammal', faker.animal.cetacean],
97
+ ['cow', faker.animal.cow],
98
+ ['crocodilia', faker.animal.crocodilia],
99
+ ['dog', faker.animal.dog],
100
+ ['fish', faker.animal.fish],
101
+ ['horse', faker.animal.horse],
102
+ ['bug', faker.animal.insect],
103
+ ['insect', faker.animal.insect],
104
+ ['lion', faker.animal.lion],
105
+ ['pet', faker.animal.petName],
106
+ ['rabbit', faker.animal.rabbit],
107
+ ['rodent', faker.animal.rodent],
108
+ ['snake', faker.animal.snake],
109
+ // ANIMAL - if none above
110
+ ['animal',
111
+ {
112
+ chance: chance.animal,
113
+ faker: faker.animal.type,
114
+ }[library] || chance.animal
115
+ ],
116
+ // AIRLINES
117
+ ['aircraft', faker.airline.aircraftType],
118
+ ['airline', () => faker.airline.airline().name],
119
+ ['airplane', () => faker.airline.airplane().name],
120
+ ['airport', () => faker.airline.airport().name],
121
+ ['flightnumber', faker.airline.flightNumber],
122
+ ['recordlocator', faker.airline.recordLocator],
123
+ ['seat', faker.airline.seat],
124
+ // FOOD
125
+ ['ethnicity', faker.food.ethnicCategory],
126
+ ['fruit', faker.food.fruit],
127
+ ['meat', faker.food.meat],
128
+ ['spice', faker.food.spice],
129
+ ['ingredient', faker.food.ingredient],
130
+ ['dish', faker.food.dish],
131
+ // BOOKS/MUSIC
132
+ ['author', faker.book.author],
133
+ ['format', faker.book.format],
134
+ ['publisher', faker.book.publisher],
135
+ ['series', faker.book.series],
136
+ ['title', faker.book.title],
137
+ ['album', faker.music.album],
138
+ ['artist', faker.music.artist],
139
+ ['song', faker.music.songName],
140
+ ['genre',
141
+ {
142
+ music: faker.music.genre,
143
+ book: faker.book.genre
144
+ }[category] || chance.pickone([
145
+ faker.music.genre,
146
+ faker.book.genre
147
+ ])],
148
+ // try keep alphabetical except for categories like above
149
+ ['account', faker.finance.accountName],
150
+ ['accountnumber', faker.finance.accountNumber],
151
+ ['amount', () => faker.finance.amount({ min, max, dec: precision })],
152
+ ['country',
153
+ chance.country(field.includes('code')
154
+ ? undefined
155
+ : { full: true })
156
+ ],
157
+ ['address', chance.address],
158
+ ['areacode', chance.areacode],
159
+ ['avatar', chance.avatar],
160
+ ['bicycle', faker.vehicle.bicycle],
161
+ ['city', chance.city],
162
+ ['color', chance.color],
163
+ ['company', chance.company],
164
+ ['coordinates', chance.coordinates],
165
+ ['cost', () => chance.dollar({ max })],
166
+ ['creditcard', chance.cc_type],
167
+ ['department', faker.commerce.department],
168
+ ['description',
169
+ {
170
+ food: faker.food.description,
171
+ commerce: faker.commerce.productDescription,
172
+ finance: faker.finance.transactionDescription,
173
+ job: faker.person.jobDescriptor,
174
+ }[category] || chance.pickone([
175
+ faker.commerce.productDescription,
176
+ faker.food.description
177
+ ])],
178
+ ['domainname', () => faker.internet.domainName()],
179
+ ['domainsuffix', faker.internet.domainSuffix],
180
+ ['email', chance.email],
181
+ ['emoji', faker.internet.emoji],
182
+ ['gender', chance.gender],
183
+ ['hashtag', chance.hashtag],
184
+ // HASH - if no hashtag
185
+ ['hash', chance.hash],
186
+ ['isbn', faker.commerce.isbn],
187
+ ['job', chance.profession],
188
+ ['locale', chance.locale],
189
+ ['manufacturer', faker.vehicle.manufacturer],
190
+ ['material', faker.commerce.productMaterial],
191
+ ['model', faker.vehicle.model],
192
+ ['phone', chance.phone],
193
+ ['portrait', faker.image.personPortrait],
194
+ ['product', faker.commerce.product],
195
+ ['profession', chance.profession],
196
+ ['prefix', chance.prefix],
197
+ ['province', chance.province],
198
+ ['radio', chance.radio],
199
+ ['routingnumber', faker.finance.routingNumber],
200
+ ['state', chance.state],
201
+ ['suffix', chance.suffix],
202
+ ['ssn', chance.ssn],
203
+ ['timezone', () => chance.timezone().name],
204
+ ['tv', chance.tv],
205
+ ['twitter', chance.twitter],
206
+ ['type',
207
+ {
208
+ aircraft: faker.airline.aircraftType,
209
+ animal: library === 'faker'
210
+ ? faker.animal.type
211
+ : chance.pickone(['ocean', 'desert', 'grassland', 'forest', 'farm', 'pet', 'zoo']),
212
+ book: faker.book.genre,
213
+ file: faker.system.commonFileType,
214
+ job: faker.person.jobType,
215
+ music: faker.music.genre,
216
+ vehicle: faker.vehicle.type,
217
+ }[category] || faker.word.noun],
218
+ ['upc', faker.commerce.upc],
219
+ ['url', chance.url],
220
+ ['userAgent', faker.internet.userAgent],
221
+ ['vehicle', faker.vehicle.vehicle],
222
+ ['weekday', chance.weekday],
223
+ ['year', chance.year],
224
+ ['zip', chance.zip],
225
+ ['zodiac', faker.person.zodiacSign],
226
+ ];
227
+ const found = things
228
+ .find((thing) => field
229
+ .toLowerCase()
230
+ .replaceAll(/[_-]/g, '')
231
+ .includes(thing[0]));
232
+ if (found) {
233
+ const foundFn = found[1];
234
+ if (isAnonymousFunction(foundFn)) {
235
+ return () => foundFn;
236
+ }
237
+ return foundFn;
238
+ }
239
+ if (!found) {
240
+ if (['key', '_key', 'id', '_id', 'uuid', 'guid'].includes(field)) {
241
+ return () => chance.guid();
242
+ }
243
+ }
244
+ }
245
+ function isAnonymousFunction(fn) {
246
+ return (fn instanceof Function) && fn?.name === '';
247
+ }
248
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/random-DT-data-generator/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@terascope/data-mate",
3
3
  "displayName": "Data-Mate",
4
- "version": "2.10.1",
4
+ "version": "2.11.1",
5
5
  "description": "Library of data validations/transformations",
6
6
  "homepage": "https://github.com/terascope/teraslice/tree/master/packages/data-mate#readme",
7
7
  "repository": {
@@ -22,29 +22,34 @@
22
22
  "dist/src/**/*"
23
23
  ],
24
24
  "dependencies": {
25
+ "@faker-js/faker": "^10.4.0",
26
+ "@turf/random": "~7.3.5",
25
27
  "@types/validator": "~13.15.10",
26
28
  "awesome-phonenumber": "~7.8.0",
27
29
  "big-json": "~3.2.0",
30
+ "chance": "~1.1.13",
28
31
  "date-fns": "~4.2.1",
29
32
  "ip-bigint": "~9.0.4",
30
33
  "jexl": "~2.3.0",
31
34
  "mnemonist": "~0.40.4",
35
+ "randexp": "^0.5.3",
32
36
  "uuid": "~14.0.0",
33
37
  "valid-url": "~1.0.9",
34
38
  "validator": "~13.15.35",
35
- "@terascope/core-utils": "~2.9.1",
36
- "@terascope/data-types": "~2.9.1",
37
- "@terascope/ip-utils": "~2.10.1",
38
- "@terascope/geo-utils": "~2.9.1",
39
- "@terascope/types": "~2.9.1",
40
- "xlucene-parser": "~2.10.1"
39
+ "@terascope/core-utils": "~2.10.1",
40
+ "@terascope/geo-utils": "~2.10.1",
41
+ "@terascope/data-types": "~2.10.1",
42
+ "@terascope/ip-utils": "~2.11.1",
43
+ "@terascope/types": "~2.10.0",
44
+ "xlucene-parser": "~2.11.1"
41
45
  },
42
46
  "devDependencies": {
43
47
  "@types/big-json": "~3.2.5",
48
+ "@types/chance": "^1.1.7",
44
49
  "@types/jexl": "^2.3.4",
45
50
  "@types/valid-url": "~1.0.7",
46
51
  "benchmark": "~2.1.4",
47
- "chance": "~1.1.13"
52
+ "jest-extended": "~7.0.0"
48
53
  },
49
54
  "engines": {
50
55
  "node": ">=22.0.0",