@proteinjs/db 1.18.1 → 1.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,84 @@
1
+ /** Load Dependency Source Graphs */
2
+
3
+ import '@proteinjs/db-query';
4
+ import '@proteinjs/logger';
5
+ import '@proteinjs/reflection';
6
+ import '@proteinjs/serializer';
7
+ import '@proteinjs/server-api';
8
+ import '@proteinjs/service';
9
+ import '@proteinjs/user-auth';
10
+ import '@proteinjs/util';
11
+ import 'moment';
12
+ import 'uuid';
13
+
14
+ /** Generate Source Graph */
15
+
16
+ const sourceGraph =
17
+ '{"options":{"directed":true,"multigraph":false,"compound":false},"nodes":[{"v":"@proteinjs/db/MemberRefTable","value":{"packageName":"@proteinjs/db","name":"MemberRefTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/MemberRefTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/MemberRef"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/Table","value":{"packageName":"@proteinjs/db","name":"Table","filePath":"/home/runner/work/db/db/packages/db/src/Table.ts","qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"__serializerId","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"name","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":{"packageName":"","name":"Columns<T>","filePath":null,"qualifiedName":"/Columns<T>","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"indexes","type":{"packageName":"@proteinjs/db","name":"{ columns: (keyof T)[]; name?: string }[]","filePath":null,"qualifiedName":"@proteinjs/db/{ columns: (keyof T)[]; name?: string }[]","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"cascadeDeleteReferences","type":{"packageName":"","name":"() => { table: string; referenceColumn: string }[]","filePath":null,"qualifiedName":"/() => { table: string; referenceColumn: string }[]","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"sourceRecordOptions","type":{"packageName":"@proteinjs/db","name":"SourceRecordOptions","filePath":null,"qualifiedName":"@proteinjs/db/SourceRecordOptions","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"auth","type":{"packageName":"@proteinjs/db","name":"{\\n db?: TableOperationsAuth;\\n service?: TableOperationsAuth;\\n ui?: {\\n recordTable?: Identity;\\n recordForm?: Identity;\\n };\\n }","filePath":null,"qualifiedName":"@proteinjs/db/{\\n db?: TableOperationsAuth;\\n service?: TableOperationsAuth;\\n ui?: {\\n recordTable?: Identity;\\n recordForm?: Identity;\\n };\\n }","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":["/T extends Record"],"directParentInterfaces":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]},{"packageName":"@proteinjs/serializer","name":"CustomSerializableObject","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializableObject","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/GroupRefTable","value":{"packageName":"@proteinjs/db","name":"GroupRefTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/GroupRefTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/GroupRef"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/MemberArrTable","value":{"packageName":"@proteinjs/db","name":"MemberArrTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/MemberArrTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/MemberArr"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/GroupArrTable","value":{"packageName":"@proteinjs/db","name":"GroupArrTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/GroupArrTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/GroupArr"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/MemberDynTable","value":{"packageName":"@proteinjs/db","name":"MemberDynTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/MemberDynTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/MemberDyn"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/GroupDynTable","value":{"packageName":"@proteinjs/db","name":"GroupDynTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/GroupDynTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/GroupDyn"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/PostTable","value":{"packageName":"@proteinjs/db","name":"PostTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/PostTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/Post"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/CommentTable","value":{"packageName":"@proteinjs/db","name":"CommentTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/CommentTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/Comment"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/MemberArrRevTable","value":{"packageName":"@proteinjs/db","name":"MemberArrRevTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/MemberArrRevTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/MemberArrRev"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/GroupArrRevTable","value":{"packageName":"@proteinjs/db","name":"GroupArrRevTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/GroupArrRevTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/GroupArrRev"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/WorkerTable","value":{"packageName":"@proteinjs/db","name":"WorkerTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/WorkerTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/Worker"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/TaskTable","value":{"packageName":"@proteinjs/db","name":"TaskTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CascadeDeleteTests.ts","qualifiedName":"@proteinjs/db/TaskTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/Task"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/TestTable","value":{"packageName":"@proteinjs/db","name":"TestTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/ColumnTypesTests.ts","qualifiedName":"@proteinjs/db/TestTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/TestRecord"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/EmployeeTestTable","value":{"packageName":"@proteinjs/db","name":"EmployeeTestTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CrudTests.ts","qualifiedName":"@proteinjs/db/EmployeeTestTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/Employee"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/ReservedWordTestTable","value":{"packageName":"@proteinjs/db","name":"ReservedWordTestTable","filePath":"/home/runner/work/db/db/packages/db/test/reusable/CrudTests.ts","qualifiedName":"@proteinjs/db/ReservedWordTestTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/ReservedWordTest"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/DbDriverQueryStatementConfig","value":{"packageName":"@proteinjs/db","name":"DbDriverQueryStatementConfig","filePath":"/home/runner/work/db/db/packages/db/src/Db.ts","qualifiedName":"@proteinjs/db/DbDriverQueryStatementConfig","typeParameters":[],"directParents":[{"packageName":"@proteinjs/db-query","name":"ParameterizationConfig","filePath":null,"qualifiedName":"@proteinjs/db-query/ParameterizationConfig","typeParameters":[],"directParents":null},{"packageName":"@proteinjs/db","name":"{\\n prefixTablesWithDb?: boolean;\\n getDriverColumnType?: (tableName: string, columnName: string) => string;\\n handleCaseSensitivity: (tableName: string, columnName: string, caseSensitive: boolean) => string;\\n}","filePath":null,"qualifiedName":"@proteinjs/db/{\\n prefixTablesWithDb?: boolean;\\n getDriverColumnType?: (tableName: string, columnName: string) => string;\\n handleCaseSensitivity: (tableName: string, columnName: string, caseSensitive: boolean) => string;\\n}","typeParameters":[],"directParents":null}],"sourceType":1}},{"v":"@proteinjs/db-query/ParameterizationConfig"},{"v":"@proteinjs/db/DbDriverDmlStatementConfig","value":{"packageName":"@proteinjs/db","name":"DbDriverDmlStatementConfig","filePath":"/home/runner/work/db/db/packages/db/src/Db.ts","qualifiedName":"@proteinjs/db/DbDriverDmlStatementConfig","typeParameters":[],"directParents":[{"packageName":"@proteinjs/db-query","name":"ParameterizationConfig","filePath":null,"qualifiedName":"@proteinjs/db-query/ParameterizationConfig","typeParameters":[],"directParents":null},{"packageName":"@proteinjs/db","name":"{\\n prefixTablesWithDb?: boolean;\\n getDriverColumnType?: (tableName: string, columnName: string) => string;\\n}","filePath":null,"qualifiedName":"@proteinjs/db/{\\n prefixTablesWithDb?: boolean;\\n getDriverColumnType?: (tableName: string, columnName: string) => string;\\n}","typeParameters":[],"directParents":null}],"sourceType":1}},{"v":"@proteinjs/db/DefaultDbDriverFactory","value":{"packageName":"@proteinjs/db","name":"DefaultDbDriverFactory","filePath":"/home/runner/work/db/db/packages/db/src/Db.ts","qualifiedName":"@proteinjs/db/DefaultDbDriverFactory","properties":[],"methods":[{"name":"getDbDriver","returnType":{"packageName":"@proteinjs/db","name":"DbDriver","filePath":null,"qualifiedName":"@proteinjs/db/DbDriver","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/reflection/Loadable"},{"v":"@proteinjs/db/Db","value":{"packageName":"@proteinjs/db","name":"Db","filePath":"/home/runner/work/db/db/packages/db/src/Db.ts","qualifiedName":"@proteinjs/db/Db","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"defaultDbDriver","type":{"packageName":"@proteinjs/db","name":"DbDriver","filePath":null,"qualifiedName":"@proteinjs/db/DbDriver","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"private"},{"name":"dbDriver","type":{"packageName":"@proteinjs/db","name":"DbDriver","filePath":null,"qualifiedName":"@proteinjs/db/DbDriver","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"logger","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"statementConfigFactory","type":{"packageName":"@proteinjs/db","name":"StatementConfigFactory","filePath":null,"qualifiedName":"@proteinjs/db/StatementConfigFactory","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"auth","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"tableWatcherRunner","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"currentTransaction","type":{"packageName":"","name":"any","filePath":null,"qualifiedName":"/any","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"transactionContextFactory","type":{"packageName":"@proteinjs/db","name":"DefaultTransactionContextFactory","filePath":null,"qualifiedName":"@proteinjs/db/DefaultTransactionContextFactory","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"serviceMetadata","type":{"packageName":"","name":"Service[\'serviceMetadata\']","filePath":null,"qualifiedName":"/Service[\'serviceMetadata\']","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"getTable","type":{"packageName":"","name":"(tableName: string) => Table<any>","filePath":null,"qualifiedName":"/(tableName: string) => Table<any>","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"runAsSystem","type":{"packageName":"","name":"boolean","filePath":null,"qualifiedName":"/boolean","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"}],"methods":[{"name":"getDefaultDbDriver","returnType":{"packageName":"@proteinjs/db","name":"DbDriver","filePath":null,"qualifiedName":"@proteinjs/db/DbDriver","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"public","parameters":[]},{"name":"getDefaultTransactionContextFactory","returnType":{"packageName":"@proteinjs/db","name":"DefaultTransactionContextFactory","filePath":null,"qualifiedName":"@proteinjs/db/DefaultTransactionContextFactory","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[]},{"name":"init","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"tableExists","returnType":{"packageName":"","name":"Promise<boolean>","filePath":null,"qualifiedName":"/Promise<boolean>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}}]},{"name":"get","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}},{"name":"options","type":{"packageName":"","name":"QueryOptions<T>","filePath":null,"qualifiedName":"/QueryOptions<T>","typeParameters":null,"directParents":null}}]},{"name":"insert","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Omit<T, keyof R>","filePath":null,"qualifiedName":"/Omit<T, keyof R>","typeParameters":null,"directParents":null}}]},{"name":"update","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Partial<T>","filePath":null,"qualifiedName":"/Partial<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"delete","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"runColumnBeforeDeletes","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}},{"name":"recordsToDelete","type":{"packageName":"","name":"Record[]","filePath":null,"qualifiedName":"/Record[]","typeParameters":null,"directParents":null}}]},{"name":"runCascadeDeletions","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}},{"name":"deletedRecords","type":{"packageName":"","name":"Record[]","filePath":null,"qualifiedName":"/Record[]","typeParameters":null,"directParents":null}}]},{"name":"runColumnReverseCascadeDeletions","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}},{"name":"deletedRecords","type":{"packageName":"","name":"Record[]","filePath":null,"qualifiedName":"/Record[]","typeParameters":null,"directParents":null}}]},{"name":"reverseDeleteReferenceArrayHolders","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"referencingTable","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}},{"name":"columnPropertyName","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"deletedIds","type":{"packageName":"","name":"string[]","filePath":null,"qualifiedName":"/string[]","typeParameters":null,"directParents":null}},{"name":"deletedIdSet","type":{"packageName":"","name":"Set<string>","filePath":null,"qualifiedName":"/Set<string>","typeParameters":null,"directParents":null}}]},{"name":"query","returnType":{"packageName":"","name":"Promise<T[]>","filePath":null,"qualifiedName":"/Promise<T[]>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}},{"name":"options","type":{"packageName":"","name":"QueryOptions<T>","filePath":null,"qualifiedName":"/QueryOptions<T>","typeParameters":null,"directParents":null}}]},{"name":"_query","returnType":{"packageName":"","name":"Promise<T[]>","filePath":null,"qualifiedName":"/Promise<T[]>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"@proteinjs/db-query","name":"QueryBuilder","filePath":null,"qualifiedName":"@proteinjs/db-query/QueryBuilder","typeParameters":null,"directParents":null}},{"name":"options","type":{"packageName":"","name":"QueryOptions<T>","filePath":null,"qualifiedName":"/QueryOptions<T>","typeParameters":null,"directParents":null}}]},{"name":"preloadReferences","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"records","type":{"packageName":"","name":"any[]","filePath":null,"qualifiedName":"/any[]","typeParameters":null,"directParents":null}},{"name":"queryOptions","type":{"packageName":"","name":"QueryOptions<any>","filePath":null,"qualifiedName":"/QueryOptions<any>","typeParameters":null,"directParents":null}}]},{"name":"getRowCount","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"addColumnQueries","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}},{"name":"operation","type":{"packageName":"","name":"\'read\' | \'write\' | \'delete\'","filePath":null,"qualifiedName":"/\'read\' | \'write\' | \'delete\'","typeParameters":null,"directParents":null}}]},{"name":"addColumnInsertHooks","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"table","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"any","filePath":null,"qualifiedName":"/any","typeParameters":null,"directParents":null}}]},{"name":"runTransaction","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"fn","type":{"packageName":"","name":"() => Promise<T>","filePath":null,"qualifiedName":"/() => Promise<T>","typeParameters":null,"directParents":null}}]},{"name":"chunk","returnType":{"packageName":"","name":"T[][]","filePath":null,"qualifiedName":"/T[][]","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"arr","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null}},{"name":"size","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null}}]}],"typeParameters":["/R extends Record = Record"],"directParentInterfaces":[{"packageName":"@proteinjs/db","name":"DbService","filePath":null,"qualifiedName":"@proteinjs/db/DbService","properties":[],"methods":[],"typeParameters":["/R"],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/DbService","value":{"packageName":"@proteinjs/db","name":"DbService","filePath":"/home/runner/work/db/db/packages/db/src/services/DbService.ts","qualifiedName":"@proteinjs/db/DbService","properties":[],"methods":[{"name":"tableExists","returnType":{"packageName":"","name":"Promise<boolean>","filePath":null,"qualifiedName":"/Promise<boolean>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}}]},{"name":"get","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}},{"name":"options","type":{"packageName":"","name":"QueryOptions<T>","filePath":null,"qualifiedName":"/QueryOptions<T>","typeParameters":null,"directParents":null}}]},{"name":"insert","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Omit<T, keyof R>","filePath":null,"qualifiedName":"/Omit<T, keyof R>","typeParameters":null,"directParents":null}}]},{"name":"update","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Partial<T>","filePath":null,"qualifiedName":"/Partial<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"delete","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]},{"name":"query","returnType":{"packageName":"","name":"Promise<T[]>","filePath":null,"qualifiedName":"/Promise<T[]>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}},{"name":"options","type":{"packageName":"","name":"QueryOptions<T>","filePath":null,"qualifiedName":"/QueryOptions<T>","typeParameters":null,"directParents":null}}]},{"name":"getRowCount","returnType":{"packageName":"","name":"Promise<number>","filePath":null,"qualifiedName":"/Promise<number>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<T>","filePath":null,"qualifiedName":"/Table<T>","typeParameters":null,"directParents":null}},{"name":"query","type":{"packageName":"","name":"Query<T>","filePath":null,"qualifiedName":"/Query<T>","typeParameters":null,"directParents":null}}]}],"typeParameters":["/R extends Record = Record"],"directParents":[{"packageName":"@proteinjs/service","name":"Service","filePath":null,"qualifiedName":"@proteinjs/service/Service","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/db/DbInitStartupTask","value":{"packageName":"@proteinjs/db","name":"DbInitStartupTask","filePath":"/home/runner/work/db/db/packages/db/src/DbInitStartupTask.ts","qualifiedName":"@proteinjs/db/DbInitStartupTask","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"when","type":{"packageName":"","name":"StartupTask[\'when\']","filePath":null,"qualifiedName":"/StartupTask[\'when\']","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"run","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/server-api","name":"StartupTask","filePath":null,"qualifiedName":"@proteinjs/server-api/StartupTask","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/server-api/StartupTask"},{"v":"@proteinjs/db/MigrationRunner","value":{"packageName":"@proteinjs/db","name":"MigrationRunner","filePath":"/home/runner/work/db/db/packages/db/src/MigrationRunner.ts","qualifiedName":"@proteinjs/db/MigrationRunner","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"logger","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"},{"name":"serviceMetadata","type":{"packageName":"","name":"Service[\'serviceMetadata\']","filePath":null,"qualifiedName":"/Service[\'serviceMetadata\']","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"runMigration","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"id","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]},{"name":"duration","returnType":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[{"name":"start","type":{"packageName":"@proteinjs/db","name":"Moment","filePath":null,"qualifiedName":"@proteinjs/db/Moment","typeParameters":null,"directParents":null}},{"name":"end","type":{"packageName":"@proteinjs/db","name":"Moment","filePath":null,"qualifiedName":"@proteinjs/db/Moment","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/db","name":"MigrationRunnerService","filePath":null,"qualifiedName":"@proteinjs/db/MigrationRunnerService","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/MigrationRunnerService","value":{"packageName":"@proteinjs/db","name":"MigrationRunnerService","filePath":"/home/runner/work/db/db/packages/db/src/services/MigrationRunnerService.ts","qualifiedName":"@proteinjs/db/MigrationRunnerService","properties":[],"methods":[{"name":"runMigration","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"id","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/service","name":"Service","filePath":null,"qualifiedName":"@proteinjs/service/Service","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"/AsyncIterable"},{"v":"@proteinjs/serializer/CustomSerializableObject"},{"v":"/Record) => Promise"},{"v":"/Record, runAsSystem: boolean) => Promise"},{"v":"@proteinjs/db/TableWatcher","value":{"packageName":"@proteinjs/db","name":"TableWatcher","filePath":"/home/runner/work/db/db/packages/db/src/TableWatcher.ts","qualifiedName":"@proteinjs/db/TableWatcher","properties":[],"methods":[{"name":"name","returnType":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[]},{"name":"table","returnType":{"packageName":"","name":"Table<R>","filePath":null,"qualifiedName":"/Table<R>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[]},{"name":"beforeInsert","returnType":{"packageName":"","name":"Promise<Omit<T, keyof R>>","filePath":null,"qualifiedName":"/Promise<Omit<T, keyof R>>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"record","type":{"packageName":"","name":"Omit<T, keyof R>","filePath":null,"qualifiedName":"/Omit<T, keyof R>","typeParameters":null,"directParents":null}}]},{"name":"afterInsert","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"record","type":{"packageName":"","name":"T","filePath":null,"qualifiedName":"/T","typeParameters":null,"directParents":null}}]},{"name":"beforeUpdate","returnType":{"packageName":"","name":"Promise<Partial<T>>","filePath":null,"qualifiedName":"/Promise<Partial<T>>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"record","type":{"packageName":"","name":"Partial<T>","filePath":null,"qualifiedName":"/Partial<T>","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]},{"name":"afterUpdate","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"recordUpdateCount","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null}},{"name":"record","type":{"packageName":"","name":"Partial<T>","filePath":null,"qualifiedName":"/Partial<T>","typeParameters":null,"directParents":null}},{"name":"qb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]},{"name":"beforeDelete","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"recordsToDelete","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null}},{"name":"initialQb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}},{"name":"deleteQb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]},{"name":"afterDelete","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":true,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"recordDeleteCount","type":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null}},{"name":"deletedRecords","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null}},{"name":"initialQb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}},{"name":"deleteQb","type":{"packageName":"","name":"QueryBuilder<T>","filePath":null,"qualifiedName":"/QueryBuilder<T>","typeParameters":null,"directParents":null}}]}],"typeParameters":["/R extends Record = Record"],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/db/Reference","value":{"packageName":"@proteinjs/db","name":"Reference","filePath":"/home/runner/work/db/db/packages/db/src/reference/Reference.ts","qualifiedName":"@proteinjs/db/Reference","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"__serializerId","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_table","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_id","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_object","type":{"packageName":"","name":"T","filePath":null,"qualifiedName":"/T","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"fromObject","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"object","type":{"packageName":"","name":"T | (Partial<T> & { id: string })","filePath":null,"qualifiedName":"/T | (Partial<T> & { id: string })","typeParameters":null,"directParents":null}}]},{"name":"get","returnType":{"packageName":"","name":"Promise<T | undefined>","filePath":null,"qualifiedName":"/Promise<T | undefined>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"getIfExists","returnType":{"packageName":"","name":"T | undefined","filePath":null,"qualifiedName":"/T | undefined","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"set","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"object","type":{"packageName":"","name":"T","filePath":null,"qualifiedName":"/T","typeParameters":null,"directParents":null}}]}],"typeParameters":["/T extends Record"],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializableObject","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializableObject","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/ReferenceArray","value":{"packageName":"@proteinjs/db","name":"ReferenceArray","filePath":"/home/runner/work/db/db/packages/db/src/reference/ReferenceArray.ts","qualifiedName":"@proteinjs/db/ReferenceArray","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"__serializerId","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_table","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_ids","type":{"packageName":"","name":"string[]","filePath":null,"qualifiedName":"/string[]","typeParameters":null,"directParents":null},"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"_objects","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null},"isOptional":true,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"fromObjects","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":true,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"string","filePath":null,"qualifiedName":"/string","typeParameters":null,"directParents":null}},{"name":"objects","type":{"packageName":"","name":"(T | (Partial<T> & { id: string }))[]","filePath":null,"qualifiedName":"/(T | (Partial<T> & { id: string }))[]","typeParameters":null,"directParents":null}}]},{"name":"isLoaded","returnType":{"packageName":"","name":"boolean","filePath":null,"qualifiedName":"/boolean","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"get","returnType":{"packageName":"","name":"Promise<T[]>","filePath":null,"qualifiedName":"/Promise<T[]>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"getIfExists","returnType":{"packageName":"","name":"T[] | undefined","filePath":null,"qualifiedName":"/T[] | undefined","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"getLength","returnType":{"packageName":"","name":"number","filePath":null,"qualifiedName":"/number","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"set","returnType":null,"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"objects","type":{"packageName":"","name":"T[]","filePath":null,"qualifiedName":"/T[]","typeParameters":null,"directParents":null}}]}],"typeParameters":["/T extends Record"],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializableObject","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializableObject","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"/\'public\' | \'authenticated\' | string[]"},{"v":"@proteinjs/db/ReferenceArraySerializer","value":{"packageName":"@proteinjs/db","name":"ReferenceArraySerializer","filePath":"/home/runner/work/db/db/packages/db/src/serializers/ReferenceArraySerializer.ts","qualifiedName":"@proteinjs/db/ReferenceArraySerializer","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"id","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"serialize","returnType":{"packageName":"@proteinjs/db","name":"SerializedReferenceArray","filePath":null,"qualifiedName":"@proteinjs/db/SerializedReferenceArray","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"referenceArray","type":{"packageName":"","name":"ReferenceArray<any>","filePath":null,"qualifiedName":"/ReferenceArray<any>","typeParameters":null,"directParents":null}}]},{"name":"deserialize","returnType":{"packageName":"","name":"ReferenceArray<any>","filePath":null,"qualifiedName":"/ReferenceArray<any>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"serializedReferenceArray","type":{"packageName":"@proteinjs/db","name":"SerializedReferenceArray","filePath":null,"qualifiedName":"@proteinjs/db/SerializedReferenceArray","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializer","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializer","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/serializer/CustomSerializer"},{"v":"@proteinjs/db/ReferenceSerializer","value":{"packageName":"@proteinjs/db","name":"ReferenceSerializer","filePath":"/home/runner/work/db/db/packages/db/src/serializers/ReferenceSerializer.ts","qualifiedName":"@proteinjs/db/ReferenceSerializer","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"id","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"serialize","returnType":{"packageName":"@proteinjs/db","name":"SerializedReference","filePath":null,"qualifiedName":"@proteinjs/db/SerializedReference","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"reference","type":{"packageName":"","name":"Reference<any>","filePath":null,"qualifiedName":"/Reference<any>","typeParameters":null,"directParents":null}}]},{"name":"deserialize","returnType":{"packageName":"","name":"Reference<any>","filePath":null,"qualifiedName":"/Reference<any>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"serializedReference","type":{"packageName":"@proteinjs/db","name":"SerializedReference","filePath":null,"qualifiedName":"@proteinjs/db/SerializedReference","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializer","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializer","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/TableSerializer","value":{"packageName":"@proteinjs/db","name":"TableSerializer","filePath":"/home/runner/work/db/db/packages/db/src/serializers/TableSerializer.ts","qualifiedName":"@proteinjs/db/TableSerializer","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"id","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"serialize","returnType":{"packageName":"@proteinjs/db","name":"SerializedTable","filePath":null,"qualifiedName":"@proteinjs/db/SerializedTable","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"table","type":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null}}]},{"name":"deserialize","returnType":{"packageName":"","name":"Table<any>","filePath":null,"qualifiedName":"/Table<any>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"serializedTable","type":{"packageName":"@proteinjs/db","name":"SerializedTable","filePath":null,"qualifiedName":"@proteinjs/db/SerializedTable","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/serializer","name":"CustomSerializer","filePath":null,"qualifiedName":"@proteinjs/serializer/CustomSerializer","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}},{"v":"/Partial"},{"v":"@proteinjs/service/Service"},{"v":"@proteinjs/db/TransactionRunnerService","value":{"packageName":"@proteinjs/db","name":"TransactionRunnerService","filePath":"/home/runner/work/db/db/packages/db/src/services/TransactionRunnerService.ts","qualifiedName":"@proteinjs/db/TransactionRunnerService","properties":[],"methods":[{"name":"run","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"ops","type":{"packageName":"","name":"Operation<any>[]","filePath":null,"qualifiedName":"/Operation<any>[]","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/service","name":"Service","filePath":null,"qualifiedName":"@proteinjs/service/Service","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"/DbRecord"},{"v":"@proteinjs/db/SourceRecordLoader","value":{"packageName":"@proteinjs/db","name":"SourceRecordLoader","filePath":"/home/runner/work/db/db/packages/db/src/source/SourceRecordLoader.ts","qualifiedName":"@proteinjs/db/SourceRecordLoader","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"logger","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private"}],"methods":[{"name":"load","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[]},{"name":"getSourceRecordsMap","returnType":null,"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"private","parameters":[]}],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[],"sourceType":2}},{"v":"@proteinjs/db/MigrationTable","value":{"packageName":"@proteinjs/db","name":"MigrationTable","filePath":"/home/runner/work/db/db/packages/db/src/tables/MigrationTable.ts","qualifiedName":"@proteinjs/db/MigrationTable","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"name","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"columns","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"},{"name":"sourceRecordOptions","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[],"typeParameters":[],"directParentInterfaces":[],"directParentClasses":[{"packageName":"@proteinjs/db","name":"Table","filePath":null,"qualifiedName":"@proteinjs/db/Table","isAbstract":false,"isStatic":false,"visibility":"public","properties":[],"methods":[],"typeParameters":["@proteinjs/db/Migration"],"directParentInterfaces":[],"directParentClasses":[]}],"sourceType":2}},{"v":"@proteinjs/db/DefaultTransactionContextFactory","value":{"packageName":"@proteinjs/db","name":"DefaultTransactionContextFactory","filePath":"/home/runner/work/db/db/packages/db/src/transaction/TransactionContextFactory.ts","qualifiedName":"@proteinjs/db/DefaultTransactionContextFactory","properties":[],"methods":[{"name":"getTransactionContext","returnType":{"packageName":"@proteinjs/db","name":"TransactionContextData","filePath":null,"qualifiedName":"@proteinjs/db/TransactionContextData","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[]},{"name":"runInContext","returnType":{"packageName":"","name":"Promise<T>","filePath":null,"qualifiedName":"/Promise<T>","typeParameters":null,"directParents":null},"isAsync":false,"isOptional":false,"isAbstract":true,"isStatic":false,"visibility":"public","parameters":[{"name":"transaction","type":{"packageName":"","name":"any","filePath":null,"qualifiedName":"/any","typeParameters":null,"directParents":null}},{"name":"fn","type":{"packageName":"","name":"() => Promise<T>","filePath":null,"qualifiedName":"/() => Promise<T>","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParents":[{"packageName":"@proteinjs/reflection","name":"Loadable","filePath":null,"qualifiedName":"@proteinjs/reflection/Loadable","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"sourceType":3}},{"v":"@proteinjs/db/TransactionRunner","value":{"packageName":"@proteinjs/db","name":"TransactionRunner","filePath":"/home/runner/work/db/db/packages/db/src/transaction/TransactionRunner.ts","qualifiedName":"@proteinjs/db/TransactionRunner","isAbstract":false,"isStatic":false,"visibility":"public","properties":[{"name":"serviceMetadata","type":null,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public"}],"methods":[{"name":"run","returnType":{"packageName":"","name":"Promise<void>","filePath":null,"qualifiedName":"/Promise<void>","typeParameters":null,"directParents":null},"isAsync":true,"isOptional":false,"isAbstract":false,"isStatic":false,"visibility":"public","parameters":[{"name":"ops","type":{"packageName":"","name":"Operation<any>[]","filePath":null,"qualifiedName":"/Operation<any>[]","typeParameters":null,"directParents":null}}]}],"typeParameters":[],"directParentInterfaces":[{"packageName":"@proteinjs/db","name":"TransactionRunnerService","filePath":null,"qualifiedName":"@proteinjs/db/TransactionRunnerService","properties":[],"methods":[],"typeParameters":[],"directParents":[]}],"directParentClasses":[],"sourceType":2}}],"edges":[{"v":"@proteinjs/db/MemberRefTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/GroupRefTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/MemberArrTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/GroupArrTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/MemberDynTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/GroupDynTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/PostTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/CommentTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/MemberArrRevTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/GroupArrRevTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/WorkerTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/TaskTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/TestTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/EmployeeTestTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/ReservedWordTestTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/DbDriverQueryStatementConfig","w":"@proteinjs/db-query/ParameterizationConfig","value":"extends type"},{"v":"@proteinjs/db/DbDriverDmlStatementConfig","w":"@proteinjs/db-query/ParameterizationConfig","value":"extends type"},{"v":"@proteinjs/db/DefaultDbDriverFactory","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db/Db","w":"@proteinjs/db/DbService","value":"implements interface"},{"v":"@proteinjs/db/DbInitStartupTask","w":"@proteinjs/server-api/StartupTask","value":"implements interface"},{"v":"@proteinjs/db/MigrationRunner","w":"@proteinjs/db/MigrationRunnerService","value":"implements interface"},{"v":"@proteinjs/db/Table","w":"@proteinjs/reflection/Loadable","value":"implements interface"},{"v":"@proteinjs/db/Table","w":"@proteinjs/serializer/CustomSerializableObject","value":"implements interface"},{"v":"@proteinjs/db/TableWatcher","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db/Reference","w":"@proteinjs/serializer/CustomSerializableObject","value":"implements interface"},{"v":"@proteinjs/db/ReferenceArray","w":"@proteinjs/serializer/CustomSerializableObject","value":"implements interface"},{"v":"@proteinjs/db/ReferenceArraySerializer","w":"@proteinjs/serializer/CustomSerializer","value":"implements interface"},{"v":"@proteinjs/db/ReferenceSerializer","w":"@proteinjs/serializer/CustomSerializer","value":"implements interface"},{"v":"@proteinjs/db/TableSerializer","w":"@proteinjs/serializer/CustomSerializer","value":"implements interface"},{"v":"@proteinjs/db/DbService","w":"@proteinjs/service/Service","value":"extends interface"},{"v":"@proteinjs/db/MigrationRunnerService","w":"@proteinjs/service/Service","value":"extends interface"},{"v":"@proteinjs/db/TransactionRunnerService","w":"@proteinjs/service/Service","value":"extends interface"},{"v":"@proteinjs/db/SourceRecordLoader","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db/MigrationTable","w":"@proteinjs/db/Table","value":"extends class"},{"v":"@proteinjs/db/DefaultTransactionContextFactory","w":"@proteinjs/reflection/Loadable","value":"extends interface"},{"v":"@proteinjs/db/TransactionRunner","w":"@proteinjs/db/TransactionRunnerService","value":"implements interface"}]}';
18
+
19
+ /** Generate Source Links */
20
+
21
+ import { MemberRefTable } from '../../test/reusable/CascadeDeleteTests';
22
+ import { Table } from '../../src/Table';
23
+ import { GroupRefTable } from '../../test/reusable/CascadeDeleteTests';
24
+ import { MemberArrTable } from '../../test/reusable/CascadeDeleteTests';
25
+ import { GroupArrTable } from '../../test/reusable/CascadeDeleteTests';
26
+ import { MemberDynTable } from '../../test/reusable/CascadeDeleteTests';
27
+ import { GroupDynTable } from '../../test/reusable/CascadeDeleteTests';
28
+ import { PostTable } from '../../test/reusable/CascadeDeleteTests';
29
+ import { CommentTable } from '../../test/reusable/CascadeDeleteTests';
30
+ import { MemberArrRevTable } from '../../test/reusable/CascadeDeleteTests';
31
+ import { GroupArrRevTable } from '../../test/reusable/CascadeDeleteTests';
32
+ import { WorkerTable } from '../../test/reusable/CascadeDeleteTests';
33
+ import { TaskTable } from '../../test/reusable/CascadeDeleteTests';
34
+ import { TestTable } from '../../test/reusable/ColumnTypesTests';
35
+ import { EmployeeTestTable } from '../../test/reusable/CrudTests';
36
+ import { ReservedWordTestTable } from '../../test/reusable/CrudTests';
37
+ import { Db } from '../../src/Db';
38
+ import { DbInitStartupTask } from '../../src/DbInitStartupTask';
39
+ import { MigrationRunner } from '../../src/MigrationRunner';
40
+ import { Reference } from '../../src/reference/Reference';
41
+ import { ReferenceArray } from '../../src/reference/ReferenceArray';
42
+ import { ReferenceArraySerializer } from '../../src/serializers/ReferenceArraySerializer';
43
+ import { ReferenceSerializer } from '../../src/serializers/ReferenceSerializer';
44
+ import { TableSerializer } from '../../src/serializers/TableSerializer';
45
+ import { SourceRecordLoader } from '../../src/source/SourceRecordLoader';
46
+ import { MigrationTable } from '../../src/tables/MigrationTable';
47
+ import { TransactionRunner } from '../../src/transaction/TransactionRunner';
48
+
49
+ const sourceLinks = {
50
+ '@proteinjs/db/MemberRefTable': MemberRefTable,
51
+ '@proteinjs/db/Table': Table,
52
+ '@proteinjs/db/GroupRefTable': GroupRefTable,
53
+ '@proteinjs/db/MemberArrTable': MemberArrTable,
54
+ '@proteinjs/db/GroupArrTable': GroupArrTable,
55
+ '@proteinjs/db/MemberDynTable': MemberDynTable,
56
+ '@proteinjs/db/GroupDynTable': GroupDynTable,
57
+ '@proteinjs/db/PostTable': PostTable,
58
+ '@proteinjs/db/CommentTable': CommentTable,
59
+ '@proteinjs/db/MemberArrRevTable': MemberArrRevTable,
60
+ '@proteinjs/db/GroupArrRevTable': GroupArrRevTable,
61
+ '@proteinjs/db/WorkerTable': WorkerTable,
62
+ '@proteinjs/db/TaskTable': TaskTable,
63
+ '@proteinjs/db/TestTable': TestTable,
64
+ '@proteinjs/db/EmployeeTestTable': EmployeeTestTable,
65
+ '@proteinjs/db/ReservedWordTestTable': ReservedWordTestTable,
66
+ '@proteinjs/db/Db': Db,
67
+ '@proteinjs/db/DbInitStartupTask': DbInitStartupTask,
68
+ '@proteinjs/db/MigrationRunner': MigrationRunner,
69
+ '@proteinjs/db/Reference': Reference,
70
+ '@proteinjs/db/ReferenceArray': ReferenceArray,
71
+ '@proteinjs/db/ReferenceArraySerializer': ReferenceArraySerializer,
72
+ '@proteinjs/db/ReferenceSerializer': ReferenceSerializer,
73
+ '@proteinjs/db/TableSerializer': TableSerializer,
74
+ '@proteinjs/db/SourceRecordLoader': SourceRecordLoader,
75
+ '@proteinjs/db/MigrationTable': MigrationTable,
76
+ '@proteinjs/db/TransactionRunner': TransactionRunner,
77
+ };
78
+
79
+ /** Load Source Graph and Links */
80
+
81
+ import { SourceRepository } from '@proteinjs/reflection';
82
+ SourceRepository.merge(sourceGraph, sourceLinks);
83
+
84
+ export * from '../../index';
package/index.ts CHANGED
@@ -30,5 +30,6 @@ export * from './test/reusable/CrudTests';
30
30
  export * from './test/reusable/ColumnTypesTests';
31
31
  export * from './test/reusable/DynamicReferenceColumn';
32
32
  export * from './test/reusable/TransactionTests';
33
+ export * from './test/reusable/CascadeDeleteTests';
33
34
 
34
35
  export * from '@proteinjs/db-query';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proteinjs/db",
3
- "version": "1.18.1",
3
+ "version": "1.19.0",
4
4
  "description": "Db",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -17,24 +17,24 @@
17
17
  "license": "MIT",
18
18
  "scripts": {
19
19
  "clean": "rm -rf dist/ node_modules/ generated/",
20
- "build": "reflection-build && tsc",
20
+ "build": "reflection-build && REFLECTION_SOURCE_DIRS=test,src reflection-build && tsc",
21
21
  "watch": "reflection-watch",
22
22
  "test": "jest"
23
23
  },
24
24
  "dependencies": {
25
- "@proteinjs/db-query": "^1.3.1",
26
- "@proteinjs/logger": "1.0.10",
25
+ "@proteinjs/db-query": "^1.4.0",
26
+ "@proteinjs/logger": "1.0.11",
27
27
  "@proteinjs/reflection": "1.1.10",
28
- "@proteinjs/serializer": "1.1.0",
29
- "@proteinjs/server-api": "2.0.0",
30
- "@proteinjs/service": "1.2.6",
31
- "@proteinjs/user-auth": "1.1.5",
28
+ "@proteinjs/serializer": "1.1.1",
29
+ "@proteinjs/server-api": "2.0.1",
30
+ "@proteinjs/service": "1.2.7",
31
+ "@proteinjs/user-auth": "1.1.6",
32
32
  "@proteinjs/util": "1.5.0",
33
33
  "moment": "2.29.4",
34
34
  "uuid": "8.3.0"
35
35
  },
36
36
  "devDependencies": {
37
- "@proteinjs/reflection-build": "1.2.0",
37
+ "@proteinjs/reflection-build": "1.3.0",
38
38
  "@types/jest": "29.5.5",
39
39
  "@types/node": "14.0.27",
40
40
  "@types/uuid": "8.3.0",
@@ -49,5 +49,9 @@
49
49
  },
50
50
  "main": "./dist/generated/index.js",
51
51
  "types": "./dist/generated/index.d.ts",
52
- "gitHead": "6369c8196fb23a904a72518cb0c52b03b9364642"
52
+ "exports": {
53
+ ".": "./dist/generated/index.js",
54
+ "./test": "./dist/generated/test/index.js"
55
+ },
56
+ "gitHead": "5f31f973e8ce8d8810b344b15c22ec0b99018a06"
53
57
  }
package/src/Columns.ts CHANGED
@@ -8,6 +8,11 @@ import { Reference } from './reference/Reference';
8
8
  import { QueryBuilderFactory } from './QueryBuilderFactory';
9
9
  import { Serializer } from '@proteinjs/serializer';
10
10
 
11
+ export interface ReferenceColumnOptions extends ColumnOptions {
12
+ /** If true, when a record in the referenced table is deleted, this record is deleted */
13
+ reverseCascadeDelete?: boolean;
14
+ }
15
+
11
16
  export class IntegerColumn implements Column<number, number> {
12
17
  constructor(
13
18
  public name: string,
@@ -212,11 +217,13 @@ export class ReferenceArrayColumn<T extends Record> extends ObjectColumn<Referen
212
217
  * @param cascadeDelete if true referenced records will be deleted when this record is deleted
213
218
  * @param options generic column options
214
219
  */
220
+ public reverseCascadeDelete: boolean;
221
+
215
222
  constructor(
216
223
  name: string,
217
224
  public referenceTable: string,
218
225
  public cascadeDelete: boolean,
219
- options?: ColumnOptions
226
+ options?: ReferenceColumnOptions
220
227
  ) {
221
228
  super(
222
229
  name,
@@ -229,6 +236,7 @@ export class ReferenceArrayColumn<T extends Record> extends ObjectColumn<Referen
229
236
  options
230
237
  )
231
238
  );
239
+ this.reverseCascadeDelete = !!options?.reverseCascadeDelete;
232
240
  }
233
241
 
234
242
  async serialize(fieldValue: ReferenceArray<T> | null | undefined): Promise<string | null> {
@@ -290,11 +298,13 @@ export class ReferenceColumn<T extends Record> extends StringColumn<Reference<T>
290
298
  * @param cascadeDelete if true referenced record will be deleted when this record is deleted
291
299
  * @param options generic column options
292
300
  */
301
+ public reverseCascadeDelete: boolean;
302
+
293
303
  constructor(
294
304
  name: string,
295
305
  public referenceTable: string,
296
306
  public cascadeDelete: boolean,
297
- options?: ColumnOptions
307
+ options?: ReferenceColumnOptions
298
308
  ) {
299
309
  super(
300
310
  name,
@@ -308,6 +318,7 @@ export class ReferenceColumn<T extends Record> extends StringColumn<Reference<T>
308
318
  ),
309
319
  36
310
320
  );
321
+ this.reverseCascadeDelete = !!options?.reverseCascadeDelete;
311
322
  }
312
323
 
313
324
  async serialize(fieldValue: Reference<T> | null | undefined): Promise<string | null> {
@@ -451,11 +462,13 @@ export class DynamicReferenceTableNameColumn extends StringColumn<string> {
451
462
  */
452
463
 
453
464
  export class DynamicReferenceColumn<T extends Record> extends StringColumn<Reference<T>> {
465
+ public reverseCascadeDelete: boolean;
466
+
454
467
  constructor(
455
468
  name: string,
456
469
  public dynamicRefTableColName: string,
457
470
  public cascadeDelete: boolean = false,
458
- options?: ColumnOptions
471
+ options?: ReferenceColumnOptions
459
472
  ) {
460
473
  super(
461
474
  name,
@@ -469,6 +482,7 @@ export class DynamicReferenceColumn<T extends Record> extends StringColumn<Refer
469
482
  ),
470
483
  36
471
484
  );
485
+ this.reverseCascadeDelete = !!options?.reverseCascadeDelete;
472
486
  }
473
487
 
474
488
  async serialize(fieldValue: Reference<T> | null | undefined): Promise<string | null> {