pgsql-seed 0.0.1 → 0.2.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.
- package/LICENSE +23 -0
- package/README.md +39 -625
- package/esm/index.d.ts +2 -0
- package/esm/index.js +12 -7
- package/esm/pgpm.d.ts +37 -0
- package/esm/pgpm.js +52 -0
- package/index.d.ts +2 -7
- package/index.js +20 -23
- package/package.json +27 -32
- package/pgpm.d.ts +37 -0
- package/pgpm.js +56 -0
- package/admin.d.ts +0 -26
- package/admin.js +0 -144
- package/connect.d.ts +0 -19
- package/connect.js +0 -95
- package/context-utils.d.ts +0 -8
- package/context-utils.js +0 -28
- package/esm/admin.js +0 -140
- package/esm/connect.js +0 -90
- package/esm/context-utils.js +0 -25
- package/esm/manager.js +0 -138
- package/esm/roles.js +0 -32
- package/esm/seed/adapters.js +0 -23
- package/esm/seed/csv.js +0 -108
- package/esm/seed/index.js +0 -14
- package/esm/seed/json.js +0 -36
- package/esm/seed/pgpm.js +0 -28
- package/esm/seed/sql.js +0 -15
- package/esm/seed/types.js +0 -1
- package/esm/stream.js +0 -96
- package/esm/test-client.js +0 -168
- package/esm/utils.js +0 -91
- package/manager.d.ts +0 -26
- package/manager.js +0 -142
- package/roles.d.ts +0 -17
- package/roles.js +0 -38
- package/seed/adapters.d.ts +0 -4
- package/seed/adapters.js +0 -28
- package/seed/csv.d.ts +0 -15
- package/seed/csv.js +0 -114
- package/seed/index.d.ts +0 -14
- package/seed/index.js +0 -31
- package/seed/json.d.ts +0 -12
- package/seed/json.js +0 -40
- package/seed/pgpm.d.ts +0 -10
- package/seed/pgpm.js +0 -32
- package/seed/sql.d.ts +0 -7
- package/seed/sql.js +0 -18
- package/seed/types.d.ts +0 -13
- package/seed/types.js +0 -2
- package/stream.d.ts +0 -33
- package/stream.js +0 -99
- package/test-client.d.ts +0 -55
- package/test-client.js +0 -172
- package/utils.d.ts +0 -17
- package/utils.js +0 -105
package/utils.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export type IdHash = Record<string, number | string>;
|
|
2
|
-
type AnyObject = Record<string, any>;
|
|
3
|
-
export declare const pruneDates: (row: AnyObject) => AnyObject;
|
|
4
|
-
export declare const pruneIds: (row: AnyObject, idHash?: IdHash) => AnyObject;
|
|
5
|
-
export declare const pruneIdArrays: (row: AnyObject) => AnyObject;
|
|
6
|
-
export declare const pruneUUIDs: (row: AnyObject) => AnyObject;
|
|
7
|
-
export declare const pruneHashes: (row: AnyObject) => AnyObject;
|
|
8
|
-
export declare const pruneSchemas: (row: AnyObject) => AnyObject;
|
|
9
|
-
export declare const prunePeoplestamps: (row: AnyObject) => AnyObject;
|
|
10
|
-
export declare const pruneTokens: (row: AnyObject) => AnyObject;
|
|
11
|
-
type Pruner = (row: AnyObject) => AnyObject;
|
|
12
|
-
export declare const composePruners: (...pruners: Pruner[]) => Pruner;
|
|
13
|
-
export declare const defaultPruners: Pruner[];
|
|
14
|
-
export declare const prune: (row: AnyObject, idHash?: IdHash) => AnyObject;
|
|
15
|
-
export declare const createSnapshot: (pruners: Pruner[]) => (obj: unknown, idHash?: IdHash) => unknown;
|
|
16
|
-
export declare const snapshot: (obj: unknown, idHash?: IdHash) => unknown;
|
|
17
|
-
export {};
|
package/utils.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.snapshot = exports.createSnapshot = exports.prune = exports.defaultPruners = exports.composePruners = exports.pruneTokens = exports.prunePeoplestamps = exports.pruneSchemas = exports.pruneHashes = exports.pruneUUIDs = exports.pruneIdArrays = exports.pruneIds = exports.pruneDates = void 0;
|
|
4
|
-
const uuidRegexp = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
5
|
-
const idReplacement = (v, idHash) => {
|
|
6
|
-
if (!v)
|
|
7
|
-
return v;
|
|
8
|
-
if (!idHash)
|
|
9
|
-
return '[ID]';
|
|
10
|
-
const key = String(v);
|
|
11
|
-
return idHash[key] !== undefined ? `[ID-${idHash[key]}]` : '[ID]';
|
|
12
|
-
};
|
|
13
|
-
function mapValues(obj, fn) {
|
|
14
|
-
return Object.entries(obj).reduce((acc, [key, value]) => {
|
|
15
|
-
acc[key] = fn(value, key);
|
|
16
|
-
return acc;
|
|
17
|
-
}, {});
|
|
18
|
-
}
|
|
19
|
-
const pruneDates = (row) => mapValues(row, (v, k) => {
|
|
20
|
-
if (!v) {
|
|
21
|
-
return v;
|
|
22
|
-
}
|
|
23
|
-
if (v instanceof Date) {
|
|
24
|
-
return '[DATE]';
|
|
25
|
-
}
|
|
26
|
-
else if (typeof v === 'string' &&
|
|
27
|
-
/(_at|At)$/.test(k) &&
|
|
28
|
-
/^20[0-9]{2}-[0-9]{2}-[0-9]{2}/.test(v)) {
|
|
29
|
-
return '[DATE]';
|
|
30
|
-
}
|
|
31
|
-
return v;
|
|
32
|
-
});
|
|
33
|
-
exports.pruneDates = pruneDates;
|
|
34
|
-
const pruneIds = (row, idHash) => mapValues(row, (v, k) => (k === 'id' || (typeof k === 'string' && k.endsWith('_id'))) &&
|
|
35
|
-
(typeof v === 'string' || typeof v === 'number')
|
|
36
|
-
? idReplacement(v, idHash)
|
|
37
|
-
: v);
|
|
38
|
-
exports.pruneIds = pruneIds;
|
|
39
|
-
const pruneIdArrays = (row) => mapValues(row, (v, k) => typeof k === 'string' && k.endsWith('_ids') && Array.isArray(v)
|
|
40
|
-
? `[UUIDs-${v.length}]`
|
|
41
|
-
: v);
|
|
42
|
-
exports.pruneIdArrays = pruneIdArrays;
|
|
43
|
-
const pruneUUIDs = (row) => mapValues(row, (v, k) => {
|
|
44
|
-
if (typeof v !== 'string') {
|
|
45
|
-
return v;
|
|
46
|
-
}
|
|
47
|
-
if (['uuid', 'queue_name'].includes(k) && uuidRegexp.test(v)) {
|
|
48
|
-
return '[UUID]';
|
|
49
|
-
}
|
|
50
|
-
if (k === 'gravatar' && /^[0-9a-f]{32}$/i.test(v)) {
|
|
51
|
-
return '[gUUID]';
|
|
52
|
-
}
|
|
53
|
-
return v;
|
|
54
|
-
});
|
|
55
|
-
exports.pruneUUIDs = pruneUUIDs;
|
|
56
|
-
const pruneHashes = (row) => mapValues(row, (v, k) => typeof k === 'string' &&
|
|
57
|
-
k.endsWith('_hash') &&
|
|
58
|
-
typeof v === 'string' &&
|
|
59
|
-
v.startsWith('$')
|
|
60
|
-
? '[hash]'
|
|
61
|
-
: v);
|
|
62
|
-
exports.pruneHashes = pruneHashes;
|
|
63
|
-
const pruneSchemas = (row) => mapValues(row, (v, k) => typeof v === 'string' && /^zz-/.test(v) ? '[schemahash]' : v);
|
|
64
|
-
exports.pruneSchemas = pruneSchemas;
|
|
65
|
-
const prunePeoplestamps = (row) => mapValues(row, (v, k) => k.endsWith('_by') && typeof v === 'string' ? '[peoplestamp]' : v);
|
|
66
|
-
exports.prunePeoplestamps = prunePeoplestamps;
|
|
67
|
-
const pruneTokens = (row) => mapValues(row, (v, k) => (k === 'token' || k.endsWith('_token')) && typeof v === 'string'
|
|
68
|
-
? '[token]'
|
|
69
|
-
: v);
|
|
70
|
-
exports.pruneTokens = pruneTokens;
|
|
71
|
-
const composePruners = (...pruners) => (row) => pruners.reduce((acc, pruner) => pruner(acc), row);
|
|
72
|
-
exports.composePruners = composePruners;
|
|
73
|
-
// Default pruners used by prune/snapshot (without IdHash)
|
|
74
|
-
exports.defaultPruners = [
|
|
75
|
-
exports.pruneTokens,
|
|
76
|
-
exports.prunePeoplestamps,
|
|
77
|
-
exports.pruneDates,
|
|
78
|
-
exports.pruneIdArrays,
|
|
79
|
-
exports.pruneUUIDs,
|
|
80
|
-
exports.pruneHashes
|
|
81
|
-
];
|
|
82
|
-
// Compose pruners and apply pruneIds with IdHash support
|
|
83
|
-
const prune = (row, idHash) => {
|
|
84
|
-
const pruned = (0, exports.composePruners)(...exports.defaultPruners)(row);
|
|
85
|
-
return (0, exports.pruneIds)(pruned, idHash);
|
|
86
|
-
};
|
|
87
|
-
exports.prune = prune;
|
|
88
|
-
// Factory to create a snapshot function with custom pruners
|
|
89
|
-
const createSnapshot = (pruners) => {
|
|
90
|
-
const pruneFn = (0, exports.composePruners)(...pruners);
|
|
91
|
-
const snap = (obj, idHash) => {
|
|
92
|
-
if (Array.isArray(obj)) {
|
|
93
|
-
return obj.map((el) => snap(el, idHash));
|
|
94
|
-
}
|
|
95
|
-
else if (obj && typeof obj === 'object') {
|
|
96
|
-
const pruned = pruneFn(obj);
|
|
97
|
-
const prunedWithIds = (0, exports.pruneIds)(pruned, idHash);
|
|
98
|
-
return mapValues(prunedWithIds, (v) => snap(v, idHash));
|
|
99
|
-
}
|
|
100
|
-
return obj;
|
|
101
|
-
};
|
|
102
|
-
return snap;
|
|
103
|
-
};
|
|
104
|
-
exports.createSnapshot = createSnapshot;
|
|
105
|
-
exports.snapshot = (0, exports.createSnapshot)(exports.defaultPruners);
|