pgsql-seed 0.0.1 → 0.2.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.
Files changed (56) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +39 -625
  3. package/esm/index.d.ts +2 -0
  4. package/esm/index.js +12 -7
  5. package/esm/pgpm.d.ts +37 -0
  6. package/esm/pgpm.js +52 -0
  7. package/index.d.ts +2 -7
  8. package/index.js +20 -23
  9. package/package.json +27 -32
  10. package/pgpm.d.ts +37 -0
  11. package/pgpm.js +56 -0
  12. package/admin.d.ts +0 -26
  13. package/admin.js +0 -144
  14. package/connect.d.ts +0 -19
  15. package/connect.js +0 -95
  16. package/context-utils.d.ts +0 -8
  17. package/context-utils.js +0 -28
  18. package/esm/admin.js +0 -140
  19. package/esm/connect.js +0 -90
  20. package/esm/context-utils.js +0 -25
  21. package/esm/manager.js +0 -138
  22. package/esm/roles.js +0 -32
  23. package/esm/seed/adapters.js +0 -23
  24. package/esm/seed/csv.js +0 -108
  25. package/esm/seed/index.js +0 -14
  26. package/esm/seed/json.js +0 -36
  27. package/esm/seed/pgpm.js +0 -28
  28. package/esm/seed/sql.js +0 -15
  29. package/esm/seed/types.js +0 -1
  30. package/esm/stream.js +0 -96
  31. package/esm/test-client.js +0 -168
  32. package/esm/utils.js +0 -91
  33. package/manager.d.ts +0 -26
  34. package/manager.js +0 -142
  35. package/roles.d.ts +0 -17
  36. package/roles.js +0 -38
  37. package/seed/adapters.d.ts +0 -4
  38. package/seed/adapters.js +0 -28
  39. package/seed/csv.d.ts +0 -15
  40. package/seed/csv.js +0 -114
  41. package/seed/index.d.ts +0 -14
  42. package/seed/index.js +0 -31
  43. package/seed/json.d.ts +0 -12
  44. package/seed/json.js +0 -40
  45. package/seed/pgpm.d.ts +0 -10
  46. package/seed/pgpm.js +0 -32
  47. package/seed/sql.d.ts +0 -7
  48. package/seed/sql.js +0 -18
  49. package/seed/types.d.ts +0 -13
  50. package/seed/types.js +0 -2
  51. package/stream.d.ts +0 -33
  52. package/stream.js +0 -99
  53. package/test-client.d.ts +0 -55
  54. package/test-client.js +0 -172
  55. package/utils.d.ts +0 -17
  56. 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);