@kaspernj/api-maker 1.0.2109 → 1.0.2110
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/README.md +32 -0
- package/build/api.d.ts +1 -3
- package/build/api.d.ts.map +1 -1
- package/build/api.js +2 -4
- package/build/attribute-not-loaded-error.d.ts +1 -0
- package/build/attribute-not-loaded-error.d.ts.map +1 -1
- package/build/attribute-not-loaded-error.js +2 -1
- package/build/base-model/attribute.d.ts +1 -3
- package/build/base-model/attribute.d.ts.map +1 -1
- package/build/base-model/attribute.js +2 -4
- package/build/base-model/reflection.d.ts +2 -0
- package/build/base-model/reflection.d.ts.map +1 -1
- package/build/base-model/reflection.js +3 -1
- package/build/base-model/scope.d.ts +1 -0
- package/build/base-model/scope.d.ts.map +1 -1
- package/build/base-model/scope.js +2 -1
- package/build/base-model.js +128 -46
- package/build/bootstrap/attribute-row.js +54 -6
- package/build/bootstrap/attribute-rows.js +8 -4
- package/build/bootstrap/index.js +2 -1
- package/build/cable-connection-pool.d.ts +10 -0
- package/build/cable-connection-pool.d.ts.map +1 -1
- package/build/cable-connection-pool.js +11 -1
- package/build/cable-subscription-pool.d.ts +10 -0
- package/build/cable-subscription-pool.d.ts.map +1 -1
- package/build/cable-subscription-pool.js +13 -1
- package/build/cable-subscription.d.ts +2 -0
- package/build/cable-subscription.d.ts.map +1 -1
- package/build/cable-subscription.js +4 -1
- package/build/cache-key-generator.d.ts +9 -0
- package/build/cache-key-generator.d.ts.map +1 -1
- package/build/cache-key-generator.js +10 -1
- package/build/can-can.d.ts +20 -0
- package/build/can-can.d.ts.map +1 -1
- package/build/can-can.js +22 -1
- package/build/channels-consumer.d.ts.map +1 -1
- package/build/channels-consumer.js +4 -1
- package/build/collection.d.ts +57 -49
- package/build/collection.d.ts.map +1 -1
- package/build/collection.js +55 -51
- package/build/command-submit-data.d.ts +3 -0
- package/build/command-submit-data.d.ts.map +1 -1
- package/build/command-submit-data.js +4 -1
- package/build/commands-pool.d.ts +7 -0
- package/build/commands-pool.d.ts.map +1 -1
- package/build/commands-pool.js +10 -4
- package/build/compose.d.ts +1 -0
- package/build/compose.d.ts.map +1 -1
- package/build/compose.js +2 -1
- package/build/config.d.ts +2 -0
- package/build/config.d.ts.map +1 -1
- package/build/config.js +4 -1
- package/build/custom-error.d.ts +1 -0
- package/build/custom-error.d.ts.map +1 -1
- package/build/custom-error.js +2 -1
- package/build/data-set-to-attributes.d.ts +1 -0
- package/build/data-set-to-attributes.d.ts.map +1 -1
- package/build/data-set-to-attributes.js +2 -1
- package/build/deserializer.d.ts +2 -0
- package/build/deserializer.d.ts.map +1 -1
- package/build/deserializer.js +5 -3
- package/build/destroy-error.d.ts +1 -0
- package/build/destroy-error.d.ts.map +1 -1
- package/build/destroy-error.js +2 -1
- package/build/devise.d.ts +11 -0
- package/build/devise.d.ts.map +1 -1
- package/build/devise.js +17 -2
- package/build/draggable-sort/controller.d.ts +12 -0
- package/build/draggable-sort/controller.d.ts.map +1 -1
- package/build/draggable-sort/controller.js +13 -1
- package/build/error-logger.d.ts +10 -0
- package/build/error-logger.d.ts.map +1 -1
- package/build/error-logger.js +12 -1
- package/build/error-messages.d.ts +1 -3
- package/build/error-messages.d.ts.map +1 -1
- package/build/error-messages.js +2 -4
- package/build/event-connection.d.ts +1 -1
- package/build/event-connection.d.ts.map +1 -1
- package/build/event-model-class.d.ts +1 -1
- package/build/event-model-class.d.ts.map +1 -1
- package/build/events.d.ts +1 -0
- package/build/events.d.ts.map +1 -1
- package/build/events.js +2 -1
- package/build/history-expo.d.ts +7 -1
- package/build/history-expo.d.ts.map +1 -1
- package/build/history-expo.js +8 -1
- package/build/history-react-native.d.ts +7 -1
- package/build/history-react-native.d.ts.map +1 -1
- package/build/history-react-native.js +8 -1
- package/build/history.js +2 -1
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -1
- package/build/inputs/auto-submit.d.ts +14 -2
- package/build/inputs/auto-submit.d.ts.map +1 -1
- package/build/inputs/auto-submit.js +5 -1
- package/build/inputs/id-for-component.d.ts +1 -0
- package/build/inputs/id-for-component.d.ts.map +1 -1
- package/build/inputs/id-for-component.js +2 -1
- package/build/inputs/name-for-component.d.ts +1 -0
- package/build/inputs/name-for-component.d.ts.map +1 -1
- package/build/inputs/name-for-component.js +2 -1
- package/build/instance-of-class-name.d.ts +5 -1
- package/build/instance-of-class-name.d.ts.map +1 -1
- package/build/instance-of-class-name.js +11 -2
- package/build/is-expo.js +2 -1
- package/build/key-value-store.d.ts +39 -7
- package/build/key-value-store.d.ts.map +1 -1
- package/build/key-value-store.js +33 -1
- package/build/logger.d.ts +35 -9
- package/build/logger.d.ts.map +1 -1
- package/build/logger.js +25 -1
- package/build/merge-styles.d.ts +1 -0
- package/build/merge-styles.d.ts.map +1 -1
- package/build/merge-styles.js +2 -1
- package/build/model-events.d.ts +33 -5
- package/build/model-events.d.ts.map +1 -1
- package/build/model-events.js +29 -1
- package/build/model-name.d.ts +19 -5
- package/build/model-name.d.ts.map +1 -1
- package/build/model-name.js +10 -1
- package/build/model-prop-type.d.ts +11 -0
- package/build/model-prop-type.d.ts.map +1 -1
- package/build/model-prop-type.js +13 -1
- package/build/model-recipes-loader.d.ts +11 -4
- package/build/model-recipes-loader.d.ts.map +1 -1
- package/build/model-recipes-loader.js +8 -1
- package/build/model-recipes-model-loader.d.ts +67 -35
- package/build/model-recipes-model-loader.d.ts.map +1 -1
- package/build/model-recipes-model-loader.js +24 -3
- package/build/models-response-reader.d.ts +32 -6
- package/build/models-response-reader.d.ts.map +1 -1
- package/build/models-response-reader.js +12 -1
- package/build/models.d.ts +1 -1
- package/build/models.d.ts.map +1 -1
- package/build/models.js +2 -1
- package/build/money-formatter.d.ts +72 -8
- package/build/money-formatter.d.ts.map +1 -1
- package/build/money-formatter.js +36 -1
- package/build/not-loaded-error.d.ts +1 -0
- package/build/not-loaded-error.d.ts.map +1 -1
- package/build/not-loaded-error.js +2 -1
- package/build/params.d.ts +1 -0
- package/build/params.d.ts.map +1 -1
- package/build/params.js +2 -1
- package/build/preloaded.d.ts +2 -3
- package/build/preloaded.d.ts.map +1 -1
- package/build/preloaded.js +3 -4
- package/build/rest-props-validator.d.ts +5 -1
- package/build/rest-props-validator.d.ts.map +1 -1
- package/build/rest-props-validator.js +5 -1
- package/build/result.d.ts +4 -0
- package/build/result.d.ts.map +1 -1
- package/build/result.js +3 -1
- package/build/routes-native.d.ts +4 -12
- package/build/routes-native.d.ts.map +1 -1
- package/build/routes-native.js +5 -13
- package/build/routes.d.ts +11 -5
- package/build/routes.d.ts.map +1 -1
- package/build/routes.js +5 -1
- package/build/run-last.d.ts +9 -2
- package/build/run-last.d.ts.map +1 -1
- package/build/run-last.js +8 -1
- package/build/serializer.d.ts +7 -0
- package/build/serializer.d.ts.map +1 -1
- package/build/serializer.js +9 -2
- package/build/services.d.ts +10 -2
- package/build/services.d.ts.map +1 -1
- package/build/services.js +9 -1
- package/build/session-status-updater.d.ts +13 -0
- package/build/session-status-updater.d.ts.map +1 -1
- package/build/session-status-updater.js +15 -1
- package/build/source-maps-loader.js +20 -3
- package/build/super-admin/has-edit-config.d.ts +5 -1
- package/build/super-admin/has-edit-config.d.ts.map +1 -1
- package/build/super-admin/has-edit-config.js +5 -1
- package/build/super-admin/models.d.ts +1 -0
- package/build/super-admin/models.d.ts.map +1 -1
- package/build/super-admin/models.js +2 -1
- package/build/table/column-identifier.d.ts +1 -0
- package/build/table/column-identifier.d.ts.map +1 -1
- package/build/table/column-identifier.js +2 -1
- package/build/table/column-visible.d.ts +1 -0
- package/build/table/column-visible.d.ts.map +1 -1
- package/build/table/column-visible.js +2 -1
- package/build/table/model-callback-args.d.ts +1 -0
- package/build/table/model-callback-args.d.ts.map +1 -1
- package/build/table/model-callback-args.js +2 -1
- package/build/table/select-calculator.d.ts +1 -0
- package/build/table/select-calculator.d.ts.map +1 -1
- package/build/table/select-calculator.js +5 -1
- package/build/table/table-settings.d.ts +16 -0
- package/build/table/table-settings.d.ts.map +1 -1
- package/build/table/table-settings.js +19 -1
- package/build/table/use-sorting.d.ts.map +1 -1
- package/build/table/use-sorting.js +2 -4
- package/build/translated-attributes.d.ts +1 -0
- package/build/translated-attributes.d.ts.map +1 -1
- package/build/translated-attributes.js +2 -1
- package/build/translated-collections.d.ts +7 -1
- package/build/translated-collections.d.ts.map +1 -1
- package/build/translated-collections.js +7 -1
- package/build/updated-attribute.d.ts +1 -1
- package/build/updated-attribute.d.ts.map +1 -1
- package/build/use-can-can.d.ts.map +1 -1
- package/build/use-can-can.js +10 -1
- package/build/use-destroyed-event.d.ts +3 -6
- package/build/use-destroyed-event.d.ts.map +1 -1
- package/build/use-destroyed-event.js +95 -62
- package/build/use-model-class-event.d.ts +7 -10
- package/build/use-model-class-event.d.ts.map +1 -1
- package/build/use-model-class-event.js +7 -6
- package/build/use-model-event.d.ts +2 -5
- package/build/use-model-event.d.ts.map +1 -1
- package/build/use-model-event.js +2 -1
- package/build/use-model.d.ts +2 -3
- package/build/use-model.d.ts.map +1 -1
- package/build/use-model.js +2 -1
- package/build/use-screen-layout.d.ts +2 -1
- package/build/use-screen-layout.d.ts.map +1 -1
- package/build/use-screen-layout.js +7 -2
- package/build/use-styles.d.ts +7 -1
- package/build/use-styles.d.ts.map +1 -1
- package/build/use-styles.js +18 -5
- package/build/validation-error.d.ts +1 -0
- package/build/validation-error.d.ts.map +1 -1
- package/build/validation-error.js +2 -1
- package/build/validation-errors.d.ts +7 -0
- package/build/validation-errors.d.ts.map +1 -1
- package/build/validation-errors.js +8 -1
- package/package.json +2 -2
package/build/model-events.js
CHANGED
|
@@ -1,30 +1,58 @@
|
|
|
1
1
|
import CableConnectionPool from "./cable-connection-pool.js";
|
|
2
2
|
import { digg } from "diggerize";
|
|
3
|
+
/** Model and model-class ActionCable event connectors. */
|
|
3
4
|
export default class ModelEvents {
|
|
5
|
+
/**
|
|
6
|
+
* @param {import("./base-model.js").default} model
|
|
7
|
+
* @param {string} eventName
|
|
8
|
+
* @param {(...args: any[]) => void} callback
|
|
9
|
+
* @returns {import("./cable-subscription.js").default}
|
|
10
|
+
*/
|
|
4
11
|
static connect(model, eventName, callback) {
|
|
5
12
|
const modelClassName = digg(model.modelClassData(), "name");
|
|
6
13
|
const cableSubscription = CableConnectionPool.current().connectEvent(modelClassName, model.primaryKey(), eventName, callback);
|
|
7
14
|
return cableSubscription;
|
|
8
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* @param {typeof import("./base-model.js").default} modelClass
|
|
18
|
+
* @param {string} eventName
|
|
19
|
+
* @param {(...args: any[]) => void} callback
|
|
20
|
+
* @returns {import("./cable-subscription.js").default}
|
|
21
|
+
*/
|
|
9
22
|
static connectModelClass(modelClass, eventName, callback) {
|
|
10
23
|
const modelClassName = digg(modelClass.modelClassData(), "name");
|
|
11
24
|
const cableSubscription = CableConnectionPool.current().connectModelClassEvent(modelClassName, eventName, callback);
|
|
12
25
|
return cableSubscription;
|
|
13
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* @param {typeof import("./base-model.js").default} modelClass
|
|
29
|
+
* @param {(...args: any[]) => void} callback
|
|
30
|
+
* @returns {import("./cable-subscription.js").default}
|
|
31
|
+
*/
|
|
14
32
|
static connectCreated(modelClass, callback) {
|
|
15
33
|
const modelClassName = digg(modelClass.modelClassData(), "name");
|
|
16
34
|
const cableSubscription = CableConnectionPool.current().connectCreated(modelClassName, callback);
|
|
17
35
|
return cableSubscription;
|
|
18
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* @param {import("./base-model.js").default} model
|
|
39
|
+
* @param {(...args: any[]) => void} callback
|
|
40
|
+
* @returns {import("./cable-subscription.js").default}
|
|
41
|
+
*/
|
|
19
42
|
static connectDestroyed(model, callback) {
|
|
20
43
|
const modelClassName = digg(model.modelClassData(), "name");
|
|
21
44
|
const cableSubscription = CableConnectionPool.current().connectDestroyed(modelClassName, model.primaryKey(), callback);
|
|
22
45
|
return cableSubscription;
|
|
23
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* @param {import("./base-model.js").default} model
|
|
49
|
+
* @param {(...args: any[]) => void} callback
|
|
50
|
+
* @returns {import("./cable-subscription.js").default}
|
|
51
|
+
*/
|
|
24
52
|
static connectUpdated(model, callback) {
|
|
25
53
|
const modelClassName = digg(model.modelClassData(), "name");
|
|
26
54
|
const cableSubscription = CableConnectionPool.current().connectUpdate(modelClassName, model.primaryKey(), callback);
|
|
27
55
|
return cableSubscription;
|
|
28
56
|
}
|
|
29
57
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtZXZlbnRzLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJtb2RlbC1ldmVudHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxtQkFBbUIsTUFBTSw0QkFBNEIsQ0FBQTtBQUM1RCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBRTlCLDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsT0FBTyxPQUFPLFdBQVc7SUFDOUI7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUTtRQUN4QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzNELE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRTdILE9BQU8saUJBQWlCLENBQUE7SUFDMUIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGlCQUFpQixDQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUTtRQUN2RCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ2hFLE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUVuSCxPQUFPLGlCQUFpQixDQUFBO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBRSxVQUFVLEVBQUUsUUFBUTtRQUN6QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ2hFLE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUVoRyxPQUFPLGlCQUFpQixDQUFBO0lBQzFCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFFLEtBQUssRUFBRSxRQUFRO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDM0QsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRXRILE9BQU8saUJBQWlCLENBQUE7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFFLEtBQUssRUFBRSxRQUFRO1FBQ3BDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDM0QsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQUVuSCxPQUFPLGlCQUFpQixDQUFBO0lBQzFCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDYWJsZUNvbm5lY3Rpb25Qb29sIGZyb20gXCIuL2NhYmxlLWNvbm5lY3Rpb24tcG9vbC5qc1wiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuXG4vKiogTW9kZWwgYW5kIG1vZGVsLWNsYXNzIEFjdGlvbkNhYmxlIGV2ZW50IGNvbm5lY3RvcnMuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNb2RlbEV2ZW50cyB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0fSBtb2RlbFxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gICAqIEBwYXJhbSB7KC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkfSBjYWxsYmFja1xuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi9jYWJsZS1zdWJzY3JpcHRpb24uanNcIikuZGVmYXVsdH1cbiAgICovXG4gIHN0YXRpYyBjb25uZWN0IChtb2RlbCwgZXZlbnROYW1lLCBjYWxsYmFjaykge1xuICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gZGlnZyhtb2RlbC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICBjb25zdCBjYWJsZVN1YnNjcmlwdGlvbiA9IENhYmxlQ29ubmVjdGlvblBvb2wuY3VycmVudCgpLmNvbm5lY3RFdmVudChtb2RlbENsYXNzTmFtZSwgbW9kZWwucHJpbWFyeUtleSgpLCBldmVudE5hbWUsIGNhbGxiYWNrKVxuXG4gICAgcmV0dXJuIGNhYmxlU3Vic2NyaXB0aW9uXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHR9IG1vZGVsQ2xhc3NcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICAgKiBAcGFyYW0geyguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZH0gY2FsbGJhY2tcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vY2FibGUtc3Vic2NyaXB0aW9uLmpzXCIpLmRlZmF1bHR9XG4gICAqL1xuICBzdGF0aWMgY29ubmVjdE1vZGVsQ2xhc3MgKG1vZGVsQ2xhc3MsIGV2ZW50TmFtZSwgY2FsbGJhY2spIHtcbiAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IGRpZ2cobW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICBjb25zdCBjYWJsZVN1YnNjcmlwdGlvbiA9IENhYmxlQ29ubmVjdGlvblBvb2wuY3VycmVudCgpLmNvbm5lY3RNb2RlbENsYXNzRXZlbnQobW9kZWxDbGFzc05hbWUsIGV2ZW50TmFtZSwgY2FsbGJhY2spXG5cbiAgICByZXR1cm4gY2FibGVTdWJzY3JpcHRpb25cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH0gbW9kZWxDbGFzc1xuICAgKiBAcGFyYW0geyguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZH0gY2FsbGJhY2tcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vY2FibGUtc3Vic2NyaXB0aW9uLmpzXCIpLmRlZmF1bHR9XG4gICAqL1xuICBzdGF0aWMgY29ubmVjdENyZWF0ZWQgKG1vZGVsQ2xhc3MsIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBkaWdnKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgY29uc3QgY2FibGVTdWJzY3JpcHRpb24gPSBDYWJsZUNvbm5lY3Rpb25Qb29sLmN1cnJlbnQoKS5jb25uZWN0Q3JlYXRlZChtb2RlbENsYXNzTmFtZSwgY2FsbGJhY2spXG5cbiAgICByZXR1cm4gY2FibGVTdWJzY3JpcHRpb25cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vYmFzZS1tb2RlbC5qc1wiKS5kZWZhdWx0fSBtb2RlbFxuICAgKiBAcGFyYW0geyguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZH0gY2FsbGJhY2tcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4vY2FibGUtc3Vic2NyaXB0aW9uLmpzXCIpLmRlZmF1bHR9XG4gICAqL1xuICBzdGF0aWMgY29ubmVjdERlc3Ryb3llZCAobW9kZWwsIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBkaWdnKG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKVxuICAgIGNvbnN0IGNhYmxlU3Vic2NyaXB0aW9uID0gQ2FibGVDb25uZWN0aW9uUG9vbC5jdXJyZW50KCkuY29ubmVjdERlc3Ryb3llZChtb2RlbENsYXNzTmFtZSwgbW9kZWwucHJpbWFyeUtleSgpLCBjYWxsYmFjaylcblxuICAgIHJldHVybiBjYWJsZVN1YnNjcmlwdGlvblxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHR9IG1vZGVsXG4gICAqIEBwYXJhbSB7KC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkfSBjYWxsYmFja1xuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi9jYWJsZS1zdWJzY3JpcHRpb24uanNcIikuZGVmYXVsdH1cbiAgICovXG4gIHN0YXRpYyBjb25uZWN0VXBkYXRlZCAobW9kZWwsIGNhbGxiYWNrKSB7XG4gICAgY29uc3QgbW9kZWxDbGFzc05hbWUgPSBkaWdnKG1vZGVsLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKVxuICAgIGNvbnN0IGNhYmxlU3Vic2NyaXB0aW9uID0gQ2FibGVDb25uZWN0aW9uUG9vbC5jdXJyZW50KCkuY29ubmVjdFVwZGF0ZShtb2RlbENsYXNzTmFtZSwgbW9kZWwucHJpbWFyeUtleSgpLCBjYWxsYmFjaylcblxuICAgIHJldHVybiBjYWJsZVN1YnNjcmlwdGlvblxuICB9XG59XG4iXX0=
|
package/build/model-name.d.ts
CHANGED
|
@@ -1,8 +1,22 @@
|
|
|
1
|
+
/** Model name helper for i18n lookups and metadata. */
|
|
1
2
|
export default class ModelName {
|
|
2
|
-
|
|
3
|
-
data:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
/** @param {{modelClassData: Record<string, any>}} data */
|
|
4
|
+
constructor(data: {
|
|
5
|
+
modelClassData: Record<string, any>;
|
|
6
|
+
});
|
|
7
|
+
data: {
|
|
8
|
+
modelClassData: Record<string, any>;
|
|
9
|
+
};
|
|
10
|
+
/** @returns {string} */
|
|
11
|
+
camelizedLower: () => string;
|
|
12
|
+
/**
|
|
13
|
+
* @param {{count?: number}} [args]
|
|
14
|
+
* @returns {string}
|
|
15
|
+
*/
|
|
16
|
+
human(args?: {
|
|
17
|
+
count?: number;
|
|
18
|
+
}): string;
|
|
19
|
+
/** @returns {string} */
|
|
20
|
+
paramKey: () => string;
|
|
7
21
|
}
|
|
8
22
|
//# sourceMappingURL=model-name.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-name.d.ts","sourceRoot":"/src/","sources":["model-name.js"],"names":[],"mappings":"AAGA;IACE,
|
|
1
|
+
{"version":3,"file":"model-name.d.ts","sourceRoot":"/src/","sources":["model-name.js"],"names":[],"mappings":"AAGA,uDAAuD;AACvD;IACE,0DAA0D;IAC1D,kBADY;QAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAC,EAGhD;IADC;wBAF2B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;MAE9B;IAGlB,wBAAwB;IACxB,sBADc,MAAM,CAC0C;IAE9D;;;OAGG;IACH,aAHW;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,GACd,MAAM,CAsBlB;IAED,wBAAwB;IACxB,gBADc,MAAM,CAC8B;CACnD"}
|
package/build/model-name.js
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import * as inflection from "inflection";
|
|
2
2
|
import Config from "./config.js";
|
|
3
|
+
/** Model name helper for i18n lookups and metadata. */
|
|
3
4
|
export default class ModelName {
|
|
5
|
+
/** @param {{modelClassData: Record<string, any>}} data */
|
|
4
6
|
constructor(data) {
|
|
5
7
|
this.data = data;
|
|
6
8
|
}
|
|
9
|
+
/** @returns {string} */
|
|
7
10
|
camelizedLower = () => this.data.modelClassData.camelizedLower;
|
|
11
|
+
/**
|
|
12
|
+
* @param {{count?: number}} [args]
|
|
13
|
+
* @returns {string}
|
|
14
|
+
*/
|
|
8
15
|
human(args) {
|
|
9
16
|
let argsToUse = args;
|
|
10
17
|
if (!argsToUse)
|
|
@@ -20,8 +27,10 @@ export default class ModelName {
|
|
|
20
27
|
let defaultModelName = this.data.modelClassData.name;
|
|
21
28
|
if (args?.count > 1)
|
|
22
29
|
defaultModelName = inflection.pluralize(defaultModelName);
|
|
30
|
+
// @ts-expect-error
|
|
23
31
|
return Config.getI18n().t(key, { defaultValue: defaultModelName });
|
|
24
32
|
}
|
|
33
|
+
/** @returns {string} */
|
|
25
34
|
paramKey = () => this.data.modelClassData.paramKey;
|
|
26
35
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbmFtZS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsibW9kZWwtbmFtZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFFaEMsdURBQXVEO0FBQ3ZELE1BQU0sQ0FBQyxPQUFPLE9BQU8sU0FBUztJQUM1QiwwREFBMEQ7SUFDMUQsWUFBWSxJQUFJO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7SUFDbEIsQ0FBQztJQUVELHdCQUF3QjtJQUN4QixjQUFjLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFBO0lBRTlEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFBO1FBRXBCLElBQUksQ0FBQyxTQUFTO1lBQUUsU0FBUyxHQUFHLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFBO1FBRXRDLElBQUksUUFBUSxDQUFBO1FBRVosSUFBSSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQy9DLFFBQVEsR0FBRyxPQUFPLENBQUE7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ2xCLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyx1QkFBdUIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFBO1FBQ2pGLElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFBO1FBRXBELElBQUksSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDO1lBQUUsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRTlFLG1CQUFtQjtRQUNuQixPQUFPLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFDLENBQUMsQ0FBQTtJQUNsRSxDQUFDO0lBRUQsd0JBQXdCO0lBQ3hCLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUE7Q0FDbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBDb25maWcgZnJvbSBcIi4vY29uZmlnLmpzXCJcblxuLyoqIE1vZGVsIG5hbWUgaGVscGVyIGZvciBpMThuIGxvb2t1cHMgYW5kIG1ldGFkYXRhLiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTW9kZWxOYW1lIHtcbiAgLyoqIEBwYXJhbSB7e21vZGVsQ2xhc3NEYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+fX0gZGF0YSAqL1xuICBjb25zdHJ1Y3RvcihkYXRhKSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtzdHJpbmd9ICovXG4gIGNhbWVsaXplZExvd2VyID0gKCkgPT4gdGhpcy5kYXRhLm1vZGVsQ2xhc3NEYXRhLmNhbWVsaXplZExvd2VyXG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7e2NvdW50PzogbnVtYmVyfX0gW2FyZ3NdXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBodW1hbihhcmdzKSB7XG4gICAgbGV0IGFyZ3NUb1VzZSA9IGFyZ3NcblxuICAgIGlmICghYXJnc1RvVXNlKSBhcmdzVG9Vc2UgPSB7Y291bnQ6IDF9XG5cbiAgICBsZXQgY291bnRLZXlcblxuICAgIGlmIChhcmdzVG9Vc2UuY291bnQgPiAxIHx8IGFyZ3NUb1VzZS5jb3VudCA8IDApIHtcbiAgICAgIGNvdW50S2V5ID0gXCJvdGhlclwiXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvdW50S2V5ID0gXCJvbmVcIlxuICAgIH1cblxuICAgIGNvbnN0IGtleSA9IGBhY3RpdmVyZWNvcmQubW9kZWxzLiR7dGhpcy5kYXRhLm1vZGVsQ2xhc3NEYXRhLmkxOG5LZXl9LiR7Y291bnRLZXl9YFxuICAgIGxldCBkZWZhdWx0TW9kZWxOYW1lID0gdGhpcy5kYXRhLm1vZGVsQ2xhc3NEYXRhLm5hbWVcblxuICAgIGlmIChhcmdzPy5jb3VudCA+IDEpIGRlZmF1bHRNb2RlbE5hbWUgPSBpbmZsZWN0aW9uLnBsdXJhbGl6ZShkZWZhdWx0TW9kZWxOYW1lKVxuXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHJldHVybiBDb25maWcuZ2V0STE4bigpLnQoa2V5LCB7ZGVmYXVsdFZhbHVlOiBkZWZhdWx0TW9kZWxOYW1lfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAqL1xuICBwYXJhbUtleSA9ICgpID0+IHRoaXMuZGF0YS5tb2RlbENsYXNzRGF0YS5wYXJhbUtleVxufVxuIl19
|
|
@@ -1,20 +1,31 @@
|
|
|
1
|
+
/** PropType helpers for API Maker models. */
|
|
1
2
|
export default class ApiMakerModelPropType {
|
|
3
|
+
/** ofModel. */
|
|
2
4
|
static ofModel(modelClass: any): ApiMakerModelPropType;
|
|
5
|
+
/** isNotRequired. */
|
|
3
6
|
isNotRequired(props: any, propName: any, _componentName: any): any;
|
|
7
|
+
/** isRequired. */
|
|
4
8
|
isRequired(props: any, propName: any, _componentName: any): any;
|
|
5
9
|
_withLoadedAssociations: {};
|
|
10
|
+
/** previous. */
|
|
6
11
|
previous(): any;
|
|
12
|
+
/** setPreviousModelPropType. */
|
|
7
13
|
setPreviousModelPropType(previousModelPropType: any): void;
|
|
8
14
|
_previousModelPropType: any;
|
|
15
|
+
/** withModelType. */
|
|
9
16
|
withModelType(modelClass: any): void;
|
|
10
17
|
_withModelType: any;
|
|
18
|
+
/** validate. */
|
|
11
19
|
validate({ model, propName }: {
|
|
12
20
|
model: any;
|
|
13
21
|
propName: any;
|
|
14
22
|
}): any;
|
|
23
|
+
/** withLoadedAbilities. */
|
|
15
24
|
withLoadedAbilities(arrayOfAbilities: any): this;
|
|
16
25
|
_withLoadedAbilities: any;
|
|
26
|
+
/** withLoadedAssociation. */
|
|
17
27
|
withLoadedAssociation(associationName: any): ApiMakerModelPropType;
|
|
28
|
+
/** withLoadedAttributes. */
|
|
18
29
|
withLoadedAttributes(arrayOfAttributes: any): this;
|
|
19
30
|
_withLoadedAttributes: any;
|
|
20
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-prop-type.d.ts","sourceRoot":"/src/","sources":["model-prop-type.js"],"names":[],"mappings":"AAIA;IACE,uDAMC;
|
|
1
|
+
{"version":3,"file":"model-prop-type.d.ts","sourceRoot":"/src/","sources":["model-prop-type.js"],"names":[],"mappings":"AAIA,6CAA6C;AAC7C;IACE,eAAe;IACf,uDAMC;IASD,qBAAqB;IACrB,mEAMC;IAED,kBAAkB;IAClB,gEAMC;IAnBC,4BAAiC;IAqBnC,gBAAgB;IAChB,gBAIC;IAED,gCAAgC;IAChC,2DAEC;IADC,4BAAmD;IAGrD,qBAAqB;IACrB,qCAEC;IADC,oBAAgC;IAGlC,gBAAgB;IAChB;;;YAqDC;IAED,2BAA2B;IAC3B,iDAIC;IAHC,0BAA4C;IAK9C,6BAA6B;IAC7B,mEAOC;IAED,4BAA4B;IAC5B,mDAIC;IAHC,2BAA8C;CAIjD"}
|
package/build/model-prop-type.js
CHANGED
|
@@ -1,40 +1,49 @@
|
|
|
1
1
|
/* eslint-disable max-depth */
|
|
2
2
|
import * as inflection from "inflection";
|
|
3
3
|
import { digg } from "diggerize";
|
|
4
|
+
/** PropType helpers for API Maker models. */
|
|
4
5
|
export default class ApiMakerModelPropType {
|
|
6
|
+
/** ofModel. */
|
|
5
7
|
static ofModel(modelClass) {
|
|
6
8
|
const modelPropTypeInstance = new ApiMakerModelPropType();
|
|
7
9
|
modelPropTypeInstance.withModelType(modelClass);
|
|
8
10
|
return modelPropTypeInstance;
|
|
9
11
|
}
|
|
12
|
+
/** Constructor. */
|
|
10
13
|
constructor() {
|
|
11
14
|
this.isNotRequired = this.isNotRequired.bind(this);
|
|
12
15
|
this.isRequired = this.isRequired.bind(this);
|
|
13
16
|
this._withLoadedAssociations = {};
|
|
14
17
|
}
|
|
18
|
+
/** isNotRequired. */
|
|
15
19
|
isNotRequired(props, propName, _componentName) {
|
|
16
20
|
const model = props[propName];
|
|
17
21
|
if (model) {
|
|
18
22
|
return this.validate({ model, propName });
|
|
19
23
|
}
|
|
20
24
|
}
|
|
25
|
+
/** isRequired. */
|
|
21
26
|
isRequired(props, propName, _componentName) {
|
|
22
27
|
const model = props[propName];
|
|
23
28
|
if (!model)
|
|
24
29
|
return new Error(`${propName} was required but not given`);
|
|
25
30
|
return this.validate({ model, propName });
|
|
26
31
|
}
|
|
32
|
+
/** previous. */
|
|
27
33
|
previous() {
|
|
28
34
|
if (!this._previousModelPropType)
|
|
29
35
|
throw new Error("No previous model prop type set");
|
|
30
36
|
return this._previousModelPropType;
|
|
31
37
|
}
|
|
38
|
+
/** setPreviousModelPropType. */
|
|
32
39
|
setPreviousModelPropType(previousModelPropType) {
|
|
33
40
|
this._previousModelPropType = previousModelPropType;
|
|
34
41
|
}
|
|
42
|
+
/** withModelType. */
|
|
35
43
|
withModelType(modelClass) {
|
|
36
44
|
this._withModelType = modelClass;
|
|
37
45
|
}
|
|
46
|
+
/** validate. */
|
|
38
47
|
validate({ model, propName }) {
|
|
39
48
|
if (this._withModelType && this._withModelType.name != model.constructor.name)
|
|
40
49
|
return new Error(`Expected ${propName} to be of type ${this._withModelType.name} but it wasn't: ${model.constructor.name}`);
|
|
@@ -82,19 +91,22 @@ export default class ApiMakerModelPropType {
|
|
|
82
91
|
}
|
|
83
92
|
}
|
|
84
93
|
}
|
|
94
|
+
/** withLoadedAbilities. */
|
|
85
95
|
withLoadedAbilities(arrayOfAbilities) {
|
|
86
96
|
this._withLoadedAbilities = arrayOfAbilities;
|
|
87
97
|
return this;
|
|
88
98
|
}
|
|
99
|
+
/** withLoadedAssociation. */
|
|
89
100
|
withLoadedAssociation(associationName) {
|
|
90
101
|
const associationModelPropType = new ApiMakerModelPropType();
|
|
91
102
|
associationModelPropType.setPreviousModelPropType(this);
|
|
92
103
|
this._withLoadedAssociations[associationName] = associationModelPropType;
|
|
93
104
|
return associationModelPropType;
|
|
94
105
|
}
|
|
106
|
+
/** withLoadedAttributes. */
|
|
95
107
|
withLoadedAttributes(arrayOfAttributes) {
|
|
96
108
|
this._withLoadedAttributes = arrayOfAttributes;
|
|
97
109
|
return this;
|
|
98
110
|
}
|
|
99
111
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtcHJvcC10eXBlLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJtb2RlbC1wcm9wLXR5cGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBQzlCLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFFOUIsTUFBTSxDQUFDLE9BQU8sT0FBTyxxQkFBcUI7SUFDeEMsTUFBTSxDQUFDLE9BQU8sQ0FBRSxVQUFVO1FBQ3hCLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFBO1FBRXpELHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUUvQyxPQUFPLHFCQUFxQixDQUFBO0lBQzlCLENBQUM7SUFFRDtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFRCxhQUFhLENBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxjQUFjO1FBQzVDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUU3QixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUE7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxjQUFjO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUU3QixJQUFJLENBQUMsS0FBSztZQUFFLE9B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QUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1kZXB0aCAqL1xuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlck1vZGVsUHJvcFR5cGUge1xuICBzdGF0aWMgb2ZNb2RlbCAobW9kZWxDbGFzcykge1xuICAgIGNvbnN0IG1vZGVsUHJvcFR5cGVJbnN0YW5jZSA9IG5ldyBBcGlNYWtlck1vZGVsUHJvcFR5cGUoKVxuXG4gICAgbW9kZWxQcm9wVHlwZUluc3RhbmNlLndpdGhNb2RlbFR5cGUobW9kZWxDbGFzcylcblxuICAgIHJldHVybiBtb2RlbFByb3BUeXBlSW5zdGFuY2VcbiAgfVxuXG4gIGNvbnN0cnVjdG9yICgpIHtcbiAgICB0aGlzLmlzTm90UmVxdWlyZWQgPSB0aGlzLmlzTm90UmVxdWlyZWQuYmluZCh0aGlzKVxuICAgIHRoaXMuaXNSZXF1aXJlZCA9IHRoaXMuaXNSZXF1aXJlZC5iaW5kKHRoaXMpXG4gICAgdGhpcy5fd2l0aExvYWRlZEFzc29jaWF0aW9ucyA9IHt9XG4gIH1cblxuICBpc05vdFJlcXVpcmVkIChwcm9wcywgcHJvcE5hbWUsIF9jb21wb25lbnROYW1lKSB7XG4gICAgY29uc3QgbW9kZWwgPSBwcm9wc1twcm9wTmFtZV1cblxuICAgIGlmIChtb2RlbCkge1xuICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGUoe21vZGVsLCBwcm9wTmFtZX0pXG4gICAgfVxuICB9XG5cbiAgaXNSZXF1aXJlZCAocHJvcHMsIHByb3BOYW1lLCBfY29tcG9uZW50TmFtZSkge1xuICAgIGNvbnN0IG1vZGVsID0gcHJvcHNbcHJvcE5hbWVdXG5cbiAgICBpZiAoIW1vZGVsKSByZXR1cm4gbmV3IEVycm9yKGAke3Byb3BOYW1lfSB3YXMgcmVxdWlyZWQgYnV0IG5vdCBnaXZlbmApXG5cbiAgICByZXR1cm4gdGhpcy52YWxpZGF0ZSh7bW9kZWwsIHByb3BOYW1lfSlcbiAgfVxuXG4gIHByZXZpb3VzICgpIHtcbiAgICBpZiAoIXRoaXMuX3ByZXZpb3VzTW9kZWxQcm9wVHlwZSkgdGhyb3cgbmV3IEVycm9yKFwiTm8gcHJldmlvdXMgbW9kZWwgcHJvcCB0eXBlIHNldFwiKVxuXG4gICAgcmV0dXJuIHRoaXMuX3ByZXZpb3VzTW9kZWxQcm9wVHlwZVxuICB9XG5cbiAgc2V0UHJldmlvdXNNb2RlbFByb3BUeXBlIChwcmV2aW91c01vZGVsUHJvcFR5cGUpIHtcbiAgICB0aGlzLl9wcmV2aW91c01vZGVsUHJvcFR5cGUgPSBwcmV2aW91c01vZGVsUHJvcFR5cGVcbiAgfVxuXG4gIHdpdGhNb2RlbFR5cGUgKG1vZGVsQ2xhc3MpIHtcbiAgICB0aGlzLl93aXRoTW9kZWxUeXBlID0gbW9kZWxDbGFzc1xuICB9XG5cbiAgdmFsaWRhdGUgKHttb2RlbCwgcHJvcE5hbWV9KSB7XG4gICAgaWYgKHRoaXMuX3dpdGhNb2RlbFR5cGUgJiYgdGhpcy5fd2l0aE1vZGVsVHlwZS5uYW1lICE9IG1vZGVsLmNvbnN0cnVjdG9yLm5hbWUpXG4gICAgICByZXR1cm4gbmV3IEVycm9yKGBFeHBlY3RlZCAke3Byb3BOYW1lfSB0byBiZSBvZiB0eXBlICR7dGhpcy5fd2l0aE1vZGVsVHlwZS5uYW1lfSBidXQgaXQgd2Fzbid0OiAke21vZGVsLmNvbnN0cnVjdG9yLm5hbWV9YClcblxuICAgIGlmICh0aGlzLl93aXRoTG9hZGVkQWJpbGl0aWVzKSB7XG4gICAgICBmb3IgKGNvbnN0IGFiaWxpdHlOYW1lIG9mIHRoaXMuX3dpdGhMb2FkZWRBYmlsaXRpZXMpIHtcbiAgICAgICAgY29uc3QgdW5kZXJzY29yZUFiaWxpdHlOYW1lID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHlOYW1lKVxuXG4gICAgICAgIGlmICghKHVuZGVyc2NvcmVBYmlsaXR5TmFtZSBpbiBtb2RlbC5hYmlsaXRpZXMpKVxuICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoYFRoZSBhYmlsaXR5ICR7YWJpbGl0eU5hbWV9IHdhcyByZXF1aXJlZCB0byBiZSBsb2FkZWQgaW4gJHtwcm9wTmFtZX0gb2YgdGhlICR7bW9kZWwuY29uc3RydWN0b3IubmFtZX0gdHlwZSBidXQgaXQgd2Fzbid0YClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5fd2l0aExvYWRlZEFzc29jaWF0aW9ucykge1xuICAgICAgZm9yIChjb25zdCBhc3NvY2lhdGlvbk5hbWUgaW4gdGhpcy5fd2l0aExvYWRlZEFzc29jaWF0aW9ucykge1xuICAgICAgICBjb25zdCBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGUgPSBkaWdnKHRoaXMuX3dpdGhMb2FkZWRBc3NvY2lhdGlvbnMsIGFzc29jaWF0aW9uTmFtZSlcbiAgICAgICAgY29uc3QgdW5kZXJzY29yZUFzc29jaWF0aW9uTmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShhc3NvY2lhdGlvbk5hbWUpXG5cbiAgICAgICAgaWYgKCEodW5kZXJzY29yZUFzc29jaWF0aW9uTmFtZSBpbiBtb2RlbC5yZWxhdGlvbnNoaXBzQ2FjaGUpKVxuICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoYFRoZSBhc3NvY2lhdGlvbiAke2Fzc29jaWF0aW9uTmFtZX0gd2FzIHJlcXVpcmVkIHRvIGJlIGxvYWRlZCBpbiAke3Byb3BOYW1lfSBvZiB0aGUgJHttb2RlbC5jb25zdHJ1Y3Rvci5uYW1lfSB0eXBlIGJ1dCBpdCB3YXNuJ3RgKVxuXG4gICAgICAgIGNvbnN0IGFzc29jaWF0aW9uQ2FjaGUgPSBkaWdnKG1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZSwgdW5kZXJzY29yZUFzc29jaWF0aW9uTmFtZSlcblxuICAgICAgICAvLyBGaW5kIGEgbW9kZWwgdG8gcnVuIHN1Yi1tb2RlbC1wcm9wLXR5cGUtdmFsaWRhdGlvbnMgb25cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXNzb2NpYXRpb25DYWNoZSkpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHByZWxvYWRlZE1vZGVsIG9mIGFzc29jaWF0aW9uQ2FjaGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGUudmFsaWRhdGUoe1xuICAgICAgICAgICAgICBtb2RlbDogcHJlbG9hZGVkTW9kZWwsXG4gICAgICAgICAgICAgIHByb3BOYW1lOiBgJHtwcm9wTmFtZX0uJHthc3NvY2lhdGlvbk5hbWV9YFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQpIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGFzc29jaWF0aW9uQ2FjaGUpIHtcbiAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gYXNzb2NpYXRpb25Nb2RlbFByb3BUeXBlLnZhbGlkYXRlKHtcbiAgICAgICAgICAgIG1vZGVsOiBhc3NvY2lhdGlvbkNhY2hlLFxuICAgICAgICAgICAgcHJvcE5hbWU6IGAke3Byb3BOYW1lfS4ke2Fzc29jaWF0aW9uTmFtZX1gXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0KSByZXR1cm4gdmFsaWRhdGlvblJlc3VsdFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3dpdGhMb2FkZWRBdHRyaWJ1dGVzICYmIG1vZGVsLmlzUGVyc2lzdGVkKCkpIHtcbiAgICAgIGZvciAoY29uc3QgYXR0cmlidXRlTmFtZSBvZiB0aGlzLl93aXRoTG9hZGVkQXR0cmlidXRlcykge1xuICAgICAgICBjb25zdCB1bmRlcnNjb3JlQXR0cmlidXRlTmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShhdHRyaWJ1dGVOYW1lKVxuXG4gICAgICAgIGlmICghKHVuZGVyc2NvcmVBdHRyaWJ1dGVOYW1lIGluIG1vZGVsLm1vZGVsRGF0YSkpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKGBUaGUgYXR0cmlidXRlICR7YXR0cmlidXRlTmFtZX0gd2FzIHJlcXVpcmVkIHRvIGJlIGxvYWRlZCBpbiAke3Byb3BOYW1lfSBvZiB0aGUgJHttb2RlbC5jb25zdHJ1Y3Rvci5uYW1lfSB0eXBlIGJ1dCBpdCB3YXNuJ3RgKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgd2l0aExvYWRlZEFiaWxpdGllcyAoYXJyYXlPZkFiaWxpdGllcykge1xuICAgIHRoaXMuX3dpdGhMb2FkZWRBYmlsaXRpZXMgPSBhcnJheU9mQWJpbGl0aWVzXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgd2l0aExvYWRlZEFzc29jaWF0aW9uIChhc3NvY2lhdGlvbk5hbWUpIHtcbiAgICBjb25zdCBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGUgPSBuZXcgQXBpTWFrZXJNb2RlbFByb3BUeXBlKClcblxuICAgIGFzc29jaWF0aW9uTW9kZWxQcm9wVHlwZS5zZXRQcmV2aW91c01vZGVsUHJvcFR5cGUodGhpcylcbiAgICB0aGlzLl93aXRoTG9hZGVkQXNzb2NpYXRpb25zW2Fzc29jaWF0aW9uTmFtZV0gPSBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGVcblxuICAgIHJldHVybiBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGVcbiAgfVxuXG4gIHdpdGhMb2FkZWRBdHRyaWJ1dGVzIChhcnJheU9mQXR0cmlidXRlcykge1xuICAgIHRoaXMuX3dpdGhMb2FkZWRBdHRyaWJ1dGVzID0gYXJyYXlPZkF0dHJpYnV0ZXNcblxuICAgIHJldHVybiB0aGlzXG4gIH1cbn1cbiJdfQ==
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtcHJvcC10eXBlLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJtb2RlbC1wcm9wLXR5cGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBQzlCLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFFOUIsNkNBQTZDO0FBQzdDLE1BQU0sQ0FBQyxPQUFPLE9BQU8scUJBQXFCO0lBQ3hDLGVBQWU7SUFDZixNQUFNLENBQUMsT0FBTyxDQUFFLFVBQVU7UUFDeEIsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUE7UUFFekQscUJBQXFCLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRS9DLE9BQU8scUJBQXFCLENBQUE7SUFDOUIsQ0FBQztJQUVELG1CQUFtQjtJQUNuQjtRQUNFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFRCxxQkFBcUI7SUFDckIsYUFBYSxDQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsY0FBYztRQUM1QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFN0IsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFBO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVUsQ0FBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGNBQWM7UUFDekMsTUFBTSxL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Ryx3QkFBd0IsQ0FBQTtRQUV4RSxPQUFPLHdCQUF3QixDQUFBO0lBQ2pDLENBQUM7SUFFRCw0QkFBNEI7SUFDNUIsb0JBQW9CLENBQUUsaUJBQWlCO1FBQ3JDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxpQkFBaUIsQ0FBQTtRQUU5QyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1kZXB0aCAqL1xuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuXG4vKiogUHJvcFR5cGUgaGVscGVycyBmb3IgQVBJIE1ha2VyIG1vZGVscy4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyTW9kZWxQcm9wVHlwZSB7XG4gIC8qKiBvZk1vZGVsLiAqL1xuICBzdGF0aWMgb2ZNb2RlbCAobW9kZWxDbGFzcykge1xuICAgIGNvbnN0IG1vZGVsUHJvcFR5cGVJbnN0YW5jZSA9IG5ldyBBcGlNYWtlck1vZGVsUHJvcFR5cGUoKVxuXG4gICAgbW9kZWxQcm9wVHlwZUluc3RhbmNlLndpdGhNb2RlbFR5cGUobW9kZWxDbGFzcylcblxuICAgIHJldHVybiBtb2RlbFByb3BUeXBlSW5zdGFuY2VcbiAgfVxuXG4gIC8qKiBDb25zdHJ1Y3Rvci4gKi9cbiAgY29uc3RydWN0b3IgKCkge1xuICAgIHRoaXMuaXNOb3RSZXF1aXJlZCA9IHRoaXMuaXNOb3RSZXF1aXJlZC5iaW5kKHRoaXMpXG4gICAgdGhpcy5pc1JlcXVpcmVkID0gdGhpcy5pc1JlcXVpcmVkLmJpbmQodGhpcylcbiAgICB0aGlzLl93aXRoTG9hZGVkQXNzb2NpYXRpb25zID0ge31cbiAgfVxuXG4gIC8qKiBpc05vdFJlcXVpcmVkLiAqL1xuICBpc05vdFJlcXVpcmVkIChwcm9wcywgcHJvcE5hbWUsIF9jb21wb25lbnROYW1lKSB7XG4gICAgY29uc3QgbW9kZWwgPSBwcm9wc1twcm9wTmFtZV1cblxuICAgIGlmIChtb2RlbCkge1xuICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGUoe21vZGVsLCBwcm9wTmFtZX0pXG4gICAgfVxuICB9XG5cbiAgLyoqIGlzUmVxdWlyZWQuICovXG4gIGlzUmVxdWlyZWQgKHByb3BzLCBwcm9wTmFtZSwgX2NvbXBvbmVudE5hbWUpIHtcbiAgICBjb25zdCBtb2RlbCA9IHByb3BzW3Byb3BOYW1lXVxuXG4gICAgaWYgKCFtb2RlbCkgcmV0dXJuIG5ldyBFcnJvcihgJHtwcm9wTmFtZX0gd2FzIHJlcXVpcmVkIGJ1dCBub3QgZ2l2ZW5gKVxuXG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdGUoe21vZGVsLCBwcm9wTmFtZX0pXG4gIH1cblxuICAvKiogcHJldmlvdXMuICovXG4gIHByZXZpb3VzICgpIHtcbiAgICBpZiAoIXRoaXMuX3ByZXZpb3VzTW9kZWxQcm9wVHlwZSkgdGhyb3cgbmV3IEVycm9yKFwiTm8gcHJldmlvdXMgbW9kZWwgcHJvcCB0eXBlIHNldFwiKVxuXG4gICAgcmV0dXJuIHRoaXMuX3ByZXZpb3VzTW9kZWxQcm9wVHlwZVxuICB9XG5cbiAgLyoqIHNldFByZXZpb3VzTW9kZWxQcm9wVHlwZS4gKi9cbiAgc2V0UHJldmlvdXNNb2RlbFByb3BUeXBlIChwcmV2aW91c01vZGVsUHJvcFR5cGUpIHtcbiAgICB0aGlzLl9wcmV2aW91c01vZGVsUHJvcFR5cGUgPSBwcmV2aW91c01vZGVsUHJvcFR5cGVcbiAgfVxuXG4gIC8qKiB3aXRoTW9kZWxUeXBlLiAqL1xuICB3aXRoTW9kZWxUeXBlIChtb2RlbENsYXNzKSB7XG4gICAgdGhpcy5fd2l0aE1vZGVsVHlwZSA9IG1vZGVsQ2xhc3NcbiAgfVxuXG4gIC8qKiB2YWxpZGF0ZS4gKi9cbiAgdmFsaWRhdGUgKHttb2RlbCwgcHJvcE5hbWV9KSB7XG4gICAgaWYgKHRoaXMuX3dpdGhNb2RlbFR5cGUgJiYgdGhpcy5fd2l0aE1vZGVsVHlwZS5uYW1lICE9IG1vZGVsLmNvbnN0cnVjdG9yLm5hbWUpXG4gICAgICByZXR1cm4gbmV3IEVycm9yKGBFeHBlY3RlZCAke3Byb3BOYW1lfSB0byBiZSBvZiB0eXBlICR7dGhpcy5fd2l0aE1vZGVsVHlwZS5uYW1lfSBidXQgaXQgd2Fzbid0OiAke21vZGVsLmNvbnN0cnVjdG9yLm5hbWV9YClcblxuICAgIGlmICh0aGlzLl93aXRoTG9hZGVkQWJpbGl0aWVzKSB7XG4gICAgICBmb3IgKGNvbnN0IGFiaWxpdHlOYW1lIG9mIHRoaXMuX3dpdGhMb2FkZWRBYmlsaXRpZXMpIHtcbiAgICAgICAgY29uc3QgdW5kZXJzY29yZUFiaWxpdHlOYW1lID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHlOYW1lKVxuXG4gICAgICAgIGlmICghKHVuZGVyc2NvcmVBYmlsaXR5TmFtZSBpbiBtb2RlbC5hYmlsaXRpZXMpKVxuICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoYFRoZSBhYmlsaXR5ICR7YWJpbGl0eU5hbWV9IHdhcyByZXF1aXJlZCB0byBiZSBsb2FkZWQgaW4gJHtwcm9wTmFtZX0gb2YgdGhlICR7bW9kZWwuY29uc3RydWN0b3IubmFtZX0gdHlwZSBidXQgaXQgd2Fzbid0YClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5fd2l0aExvYWRlZEFzc29jaWF0aW9ucykge1xuICAgICAgZm9yIChjb25zdCBhc3NvY2lhdGlvbk5hbWUgaW4gdGhpcy5fd2l0aExvYWRlZEFzc29jaWF0aW9ucykge1xuICAgICAgICBjb25zdCBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGUgPSBkaWdnKHRoaXMuX3dpdGhMb2FkZWRBc3NvY2lhdGlvbnMsIGFzc29jaWF0aW9uTmFtZSlcbiAgICAgICAgY29uc3QgdW5kZXJzY29yZUFzc29jaWF0aW9uTmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShhc3NvY2lhdGlvbk5hbWUpXG5cbiAgICAgICAgaWYgKCEodW5kZXJzY29yZUFzc29jaWF0aW9uTmFtZSBpbiBtb2RlbC5yZWxhdGlvbnNoaXBzQ2FjaGUpKVxuICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoYFRoZSBhc3NvY2lhdGlvbiAke2Fzc29jaWF0aW9uTmFtZX0gd2FzIHJlcXVpcmVkIHRvIGJlIGxvYWRlZCBpbiAke3Byb3BOYW1lfSBvZiB0aGUgJHttb2RlbC5jb25zdHJ1Y3Rvci5uYW1lfSB0eXBlIGJ1dCBpdCB3YXNuJ3RgKVxuXG4gICAgICAgIGNvbnN0IGFzc29jaWF0aW9uQ2FjaGUgPSBkaWdnKG1vZGVsLnJlbGF0aW9uc2hpcHNDYWNoZSwgdW5kZXJzY29yZUFzc29jaWF0aW9uTmFtZSlcblxuICAgICAgICAvLyBGaW5kIGEgbW9kZWwgdG8gcnVuIHN1Yi1tb2RlbC1wcm9wLXR5cGUtdmFsaWRhdGlvbnMgb25cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYXNzb2NpYXRpb25DYWNoZSkpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHByZWxvYWRlZE1vZGVsIG9mIGFzc29jaWF0aW9uQ2FjaGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGUudmFsaWRhdGUoe1xuICAgICAgICAgICAgICBtb2RlbDogcHJlbG9hZGVkTW9kZWwsXG4gICAgICAgICAgICAgIHByb3BOYW1lOiBgJHtwcm9wTmFtZX0uJHthc3NvY2lhdGlvbk5hbWV9YFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQpIHJldHVybiB2YWxpZGF0aW9uUmVzdWx0XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGFzc29jaWF0aW9uQ2FjaGUpIHtcbiAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gYXNzb2NpYXRpb25Nb2RlbFByb3BUeXBlLnZhbGlkYXRlKHtcbiAgICAgICAgICAgIG1vZGVsOiBhc3NvY2lhdGlvbkNhY2hlLFxuICAgICAgICAgICAgcHJvcE5hbWU6IGAke3Byb3BOYW1lfS4ke2Fzc29jaWF0aW9uTmFtZX1gXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0KSByZXR1cm4gdmFsaWRhdGlvblJlc3VsdFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3dpdGhMb2FkZWRBdHRyaWJ1dGVzICYmIG1vZGVsLmlzUGVyc2lzdGVkKCkpIHtcbiAgICAgIGZvciAoY29uc3QgYXR0cmlidXRlTmFtZSBvZiB0aGlzLl93aXRoTG9hZGVkQXR0cmlidXRlcykge1xuICAgICAgICBjb25zdCB1bmRlcnNjb3JlQXR0cmlidXRlTmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShhdHRyaWJ1dGVOYW1lKVxuXG4gICAgICAgIGlmICghKHVuZGVyc2NvcmVBdHRyaWJ1dGVOYW1lIGluIG1vZGVsLm1vZGVsRGF0YSkpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKGBUaGUgYXR0cmlidXRlICR7YXR0cmlidXRlTmFtZX0gd2FzIHJlcXVpcmVkIHRvIGJlIGxvYWRlZCBpbiAke3Byb3BOYW1lfSBvZiB0aGUgJHttb2RlbC5jb25zdHJ1Y3Rvci5uYW1lfSB0eXBlIGJ1dCBpdCB3YXNuJ3RgKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIHdpdGhMb2FkZWRBYmlsaXRpZXMuICovXG4gIHdpdGhMb2FkZWRBYmlsaXRpZXMgKGFycmF5T2ZBYmlsaXRpZXMpIHtcbiAgICB0aGlzLl93aXRoTG9hZGVkQWJpbGl0aWVzID0gYXJyYXlPZkFiaWxpdGllc1xuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKiB3aXRoTG9hZGVkQXNzb2NpYXRpb24uICovXG4gIHdpdGhMb2FkZWRBc3NvY2lhdGlvbiAoYXNzb2NpYXRpb25OYW1lKSB7XG4gICAgY29uc3QgYXNzb2NpYXRpb25Nb2RlbFByb3BUeXBlID0gbmV3IEFwaU1ha2VyTW9kZWxQcm9wVHlwZSgpXG5cbiAgICBhc3NvY2lhdGlvbk1vZGVsUHJvcFR5cGUuc2V0UHJldmlvdXNNb2RlbFByb3BUeXBlKHRoaXMpXG4gICAgdGhpcy5fd2l0aExvYWRlZEFzc29jaWF0aW9uc1thc3NvY2lhdGlvbk5hbWVdID0gYXNzb2NpYXRpb25Nb2RlbFByb3BUeXBlXG5cbiAgICByZXR1cm4gYXNzb2NpYXRpb25Nb2RlbFByb3BUeXBlXG4gIH1cblxuICAvKiogd2l0aExvYWRlZEF0dHJpYnV0ZXMuICovXG4gIHdpdGhMb2FkZWRBdHRyaWJ1dGVzIChhcnJheU9mQXR0cmlidXRlcykge1xuICAgIHRoaXMuX3dpdGhMb2FkZWRBdHRyaWJ1dGVzID0gYXJyYXlPZkF0dHJpYnV0ZXNcblxuICAgIHJldHVybiB0aGlzXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,10 +1,17 @@
|
|
|
1
|
+
/** Loader that builds model classes from model recipes. */
|
|
1
2
|
export default class ModelRecipesLoader {
|
|
3
|
+
/** @param {{recipes: Record<string, any>}} args */
|
|
2
4
|
constructor({ recipes }: {
|
|
3
|
-
recipes: any
|
|
5
|
+
recipes: Record<string, any>;
|
|
4
6
|
});
|
|
5
7
|
modelClasses: {};
|
|
6
|
-
recipes: any
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
recipes: Record<string, any>;
|
|
9
|
+
/**
|
|
10
|
+
* @param {string} name
|
|
11
|
+
* @returns {typeof import("./base-model.js").default}
|
|
12
|
+
*/
|
|
13
|
+
getModelClass(name: string): typeof import("./base-model.js").default;
|
|
14
|
+
/** @returns {Record<string, typeof import("./base-model.js").default>} */
|
|
15
|
+
load(): Record<string, typeof import("./base-model.js").default>;
|
|
9
16
|
}
|
|
10
17
|
//# sourceMappingURL=model-recipes-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-recipes-loader.d.ts","sourceRoot":"/src/","sources":["model-recipes-loader.js"],"names":[],"mappings":"AAGA;IACE
|
|
1
|
+
{"version":3,"file":"model-recipes-loader.d.ts","sourceRoot":"/src/","sources":["model-recipes-loader.js"],"names":[],"mappings":"AAGA,2DAA2D;AAC3D;IACE,mDAAmD;IACnD,yBADY;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAC,EAIzC;IAFC,iBAAsB;IACtB,6BAAsB;IAGxB;;;OAGG;IACH,oBAHW,MAAM,GACJ,cAAc,iBAAiB,EAAE,OAAO,CAIpD;IAED,0EAA0E;IAC1E,QADc,MAAM,CAAC,MAAM,EAAE,cAAc,iBAAiB,EAAE,OAAO,CAAC,CAcrE;CACF"}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { digg, digs } from "diggerize";
|
|
2
2
|
import ModelRecipesModelLoader from "./model-recipes-model-loader.js";
|
|
3
|
+
/** Loader that builds model classes from model recipes. */
|
|
3
4
|
export default class ModelRecipesLoader {
|
|
5
|
+
/** @param {{recipes: Record<string, any>}} args */
|
|
4
6
|
constructor({ recipes }) {
|
|
5
7
|
this.modelClasses = {};
|
|
6
8
|
this.recipes = recipes;
|
|
7
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* @param {string} name
|
|
12
|
+
* @returns {typeof import("./base-model.js").default}
|
|
13
|
+
*/
|
|
8
14
|
getModelClass(name) {
|
|
9
15
|
return digg(this, "modelClasses", name);
|
|
10
16
|
}
|
|
17
|
+
/** @returns {Record<string, typeof import("./base-model.js").default>} */
|
|
11
18
|
load() {
|
|
12
19
|
const { recipes } = digs(this, "recipes");
|
|
13
20
|
const { models } = digs(recipes, "models");
|
|
@@ -20,4 +27,4 @@ export default class ModelRecipesLoader {
|
|
|
20
27
|
return this.modelClasses;
|
|
21
28
|
}
|
|
22
29
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtcmVjaXBlcy1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIm1vZGVsLXJlY2lwZXMtbG9hZGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ3BDLE9BQU8sdUJBQXVCLE1BQU0saUNBQWlDLENBQUE7QUFFckUsMkRBQTJEO0FBQzNELE1BQU0sQ0FBQyxPQUFPLE9BQU8sa0JBQWtCO0lBQ3JDLG1EQUFtRDtJQUNuRCxZQUFhLEVBQUMsT0FBTyxFQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUUsSUFBSTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCwwRUFBMEU7SUFDMUUsSUFBSTtRQUNGLE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQ3ZDLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRXhDLEtBQUssTUFBTSxTQUFTLElBQUksTUFBTSxFQUFFLENBQUM7WUFDL0IsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxFQUFDLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFBO1lBQzdGLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFBO1lBRWpELElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsVUFBVSxDQUFBO1FBQzNDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUE7SUFDMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWdnLCBkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBNb2RlbFJlY2lwZXNNb2RlbExvYWRlciBmcm9tIFwiLi9tb2RlbC1yZWNpcGVzLW1vZGVsLWxvYWRlci5qc1wiXG5cbi8qKiBMb2FkZXIgdGhhdCBidWlsZHMgbW9kZWwgY2xhc3NlcyBmcm9tIG1vZGVsIHJlY2lwZXMuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNb2RlbFJlY2lwZXNMb2FkZXIge1xuICAvKiogQHBhcmFtIHt7cmVjaXBlczogUmVjb3JkPHN0cmluZywgYW55Pn19IGFyZ3MgKi9cbiAgY29uc3RydWN0b3IgKHtyZWNpcGVzfSkge1xuICAgIHRoaXMubW9kZWxDbGFzc2VzID0ge31cbiAgICB0aGlzLnJlY2lwZXMgPSByZWNpcGVzXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICogQHJldHVybnMge3R5cGVvZiBpbXBvcnQoXCIuL2Jhc2UtbW9kZWwuanNcIikuZGVmYXVsdH1cbiAgICovXG4gIGdldE1vZGVsQ2xhc3MgKG5hbWUpIHtcbiAgICByZXR1cm4gZGlnZyh0aGlzLCBcIm1vZGVsQ2xhc3Nlc1wiLCBuYW1lKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCB0eXBlb2YgaW1wb3J0KFwiLi9iYXNlLW1vZGVsLmpzXCIpLmRlZmF1bHQ+fSAqL1xuICBsb2FkICgpIHtcbiAgICBjb25zdCB7cmVjaXBlc30gPSBkaWdzKHRoaXMsIFwicmVjaXBlc1wiKVxuICAgIGNvbnN0IHttb2RlbHN9ID0gZGlncyhyZWNpcGVzLCBcIm1vZGVsc1wiKVxuXG4gICAgZm9yIChjb25zdCBtb2RlbE5hbWUgaW4gbW9kZWxzKSB7XG4gICAgICBjb25zdCBtb2RlbFJlY2lwZSA9IG1vZGVsc1ttb2RlbE5hbWVdXG4gICAgICBjb25zdCBtb2RlbENsYXNzTG9hZGVyID0gbmV3IE1vZGVsUmVjaXBlc01vZGVsTG9hZGVyKHttb2RlbFJlY2lwZSwgbW9kZWxSZWNpcGVzTG9hZGVyOiB0aGlzfSlcbiAgICAgIGNvbnN0IG1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzTG9hZGVyLmNyZWF0ZUNsYXNzKClcblxuICAgICAgdGhpcy5tb2RlbENsYXNzZXNbbW9kZWxOYW1lXSA9IG1vZGVsQ2xhc3NcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5tb2RlbENsYXNzZXNcbiAgfVxufVxuIl19
|
|
@@ -1,17 +1,26 @@
|
|
|
1
|
+
/** Builds runtime model classes from recipe definitions. */
|
|
1
2
|
export default class ApiMakerModelRecipesModelLoader {
|
|
3
|
+
/** Constructor. */
|
|
2
4
|
constructor({ modelRecipe, modelRecipesLoader }: {
|
|
3
5
|
modelRecipe: any;
|
|
4
6
|
modelRecipesLoader: any;
|
|
5
7
|
});
|
|
6
8
|
modelRecipesLoader: any;
|
|
7
9
|
modelRecipe: any;
|
|
10
|
+
/** createClass. */
|
|
8
11
|
createClass(): {
|
|
9
|
-
new (args?: {
|
|
12
|
+
new (args?: {
|
|
13
|
+
isNewRecord?: boolean;
|
|
14
|
+
data?: object;
|
|
15
|
+
a?: Record<string, any>;
|
|
16
|
+
b?: Record<string, any>;
|
|
17
|
+
collection?: Collection<typeof BaseModel>;
|
|
18
|
+
}): {
|
|
10
19
|
changes: {};
|
|
11
|
-
newRecord:
|
|
20
|
+
newRecord: boolean;
|
|
12
21
|
relationshipsCache: {};
|
|
13
22
|
relationships: {};
|
|
14
|
-
abilities: any
|
|
23
|
+
abilities: Record<string, any>;
|
|
15
24
|
modelData: {};
|
|
16
25
|
assignAttributes(newAttributes: Record<string, any>): void;
|
|
17
26
|
attributes(): Record<string, any>;
|
|
@@ -32,25 +41,25 @@ export default class ApiMakerModelRecipesModelLoader {
|
|
|
32
41
|
model: BaseModel;
|
|
33
42
|
response: object;
|
|
34
43
|
}>;
|
|
35
|
-
ensureAbilities(listOfAbilities:
|
|
44
|
+
ensureAbilities(listOfAbilities: string[]): Promise<void>;
|
|
36
45
|
getAttributes(): Record<string, any>;
|
|
37
|
-
handleResponseError(response:
|
|
46
|
+
handleResponseError(response: object): never;
|
|
38
47
|
identifierKey(): number | string;
|
|
39
48
|
_identifierKey: string | number;
|
|
40
|
-
isAssociationLoaded(associationName:
|
|
41
|
-
isAssociationLoadedUnderscore(associationNameUnderscore:
|
|
42
|
-
isAssociationPresent(associationName:
|
|
49
|
+
isAssociationLoaded(associationName: string): boolean;
|
|
50
|
+
isAssociationLoadedUnderscore(associationNameUnderscore: string): boolean;
|
|
51
|
+
isAssociationPresent(associationName: string): boolean;
|
|
43
52
|
isAttributeChanged(attributeName: string): boolean;
|
|
44
53
|
isChanged(): boolean;
|
|
45
54
|
isNewRecord(): boolean;
|
|
46
55
|
isPersisted(): boolean;
|
|
47
56
|
savedChangeToAttribute(attributeName: string): boolean;
|
|
48
57
|
setNewModel(model: BaseModel): void;
|
|
49
|
-
setNewModelData(model:
|
|
58
|
+
setNewModelData(model: BaseModel): void;
|
|
50
59
|
previousModelData: any;
|
|
51
|
-
_isDateChanged(oldValue: any, newValue: any): boolean;
|
|
52
|
-
_isIntegerChanged(oldValue: any, newValue: any): boolean;
|
|
53
|
-
_isStringChanged(oldValue: any, newValue: any): boolean;
|
|
60
|
+
_isDateChanged(oldValue: any, newValue: any): boolean | void;
|
|
61
|
+
_isIntegerChanged(oldValue: any, newValue: any): boolean | void;
|
|
62
|
+
_isStringChanged(oldValue: any, newValue: any): boolean | void;
|
|
54
63
|
modelClassData(): ModelClassDataType;
|
|
55
64
|
reload(): Promise<void>;
|
|
56
65
|
save(): Promise<{
|
|
@@ -65,42 +74,53 @@ export default class ApiMakerModelRecipesModelLoader {
|
|
|
65
74
|
model: BaseModel;
|
|
66
75
|
response?: object;
|
|
67
76
|
}>;
|
|
68
|
-
_refreshModelFromResponse(response:
|
|
69
|
-
_refreshModelDataFromResponse(response:
|
|
70
|
-
updateRaw(rawData:
|
|
71
|
-
|
|
72
|
-
|
|
77
|
+
_refreshModelFromResponse(response: object): void;
|
|
78
|
+
_refreshModelDataFromResponse(response: object): void;
|
|
79
|
+
updateRaw(rawData: FormData | Record<string, any>, options?: ParseValidationErrorsOptions & {
|
|
80
|
+
simpleModelErrors?: boolean;
|
|
81
|
+
}): Promise<{
|
|
82
|
+
response: object;
|
|
83
|
+
model: BaseModel;
|
|
73
84
|
}>;
|
|
74
|
-
isValid():
|
|
85
|
+
isValid(): never;
|
|
75
86
|
isValidOnServer(): Promise<{
|
|
76
|
-
valid:
|
|
77
|
-
errors: any
|
|
87
|
+
valid: boolean;
|
|
88
|
+
errors: Record<string, any>;
|
|
78
89
|
}>;
|
|
79
90
|
modelClass<Self extends BaseModel>(this: Self): typeof BaseModel & (new (...args: any[]) => Self);
|
|
80
|
-
preloadRelationship(relationshipName:
|
|
91
|
+
preloadRelationship(relationshipName: string, model: BaseModel | BaseModel[] | null): void;
|
|
81
92
|
markForDestruction(): void;
|
|
82
93
|
_markedForDestruction: boolean;
|
|
83
94
|
markedForDestruction(): boolean;
|
|
84
95
|
uniqueKey(): number;
|
|
85
96
|
uniqueKeyValue: number;
|
|
86
|
-
_callMemberCommand: (args:
|
|
97
|
+
_callMemberCommand: (args: Record<string, any>, commandArgs: Record<string, any>) => Promise<object>;
|
|
87
98
|
readAttribute(attributeName: string): any;
|
|
88
99
|
readAttributeUnderscore(attributeName: string): any;
|
|
89
100
|
isAttributeLoaded(attributeName: any): boolean;
|
|
90
101
|
_isPresent(value: any): boolean;
|
|
91
|
-
_loadBelongsToReflection(args:
|
|
102
|
+
_loadBelongsToReflection<AssocMC extends typeof import("./base-model.js").default>(args: import("./collection.js").CollectionArgsType<AssocMC>, queryArgs?: import("./collection.js").QueryArgsType): Promise<InstanceType<AssocMC>>;
|
|
92
103
|
_readBelongsToReflection({ reflectionName }: {
|
|
93
|
-
reflectionName:
|
|
94
|
-
}):
|
|
104
|
+
reflectionName: string;
|
|
105
|
+
}): BaseModel | null;
|
|
95
106
|
_loadHasManyReflection<AssocMC extends typeof import("./base-model.js").default>(args: import("./collection.js").CollectionArgsType<AssocMC>, queryArgs?: import("./collection.js").QueryArgsType): Promise<InstanceType<AssocMC>[]>;
|
|
96
107
|
_loadHasOneReflection<AssocMC extends typeof import("./base-model.js").default>(args: import("./collection.js").CollectionArgsType<AssocMC>, queryArgs?: import("./collection.js").QueryArgsType): Promise<InstanceType<AssocMC>>;
|
|
97
108
|
_readHasOneReflection({ reflectionName }: {
|
|
98
|
-
reflectionName:
|
|
99
|
-
}):
|
|
100
|
-
_readModelDataFromArgs(args
|
|
101
|
-
|
|
109
|
+
reflectionName: string;
|
|
110
|
+
}): BaseModel | null;
|
|
111
|
+
_readModelDataFromArgs(args?: {
|
|
112
|
+
data?: {
|
|
113
|
+
b?: Record<string, any>;
|
|
114
|
+
a?: Record<string, any>;
|
|
115
|
+
r?: any;
|
|
116
|
+
};
|
|
117
|
+
collection?: Collection<typeof BaseModel>;
|
|
118
|
+
}): void;
|
|
119
|
+
collection: Collection<typeof BaseModel>;
|
|
102
120
|
preloadedRelationships: any;
|
|
103
|
-
_readPreloadedRelationships(preloaded:
|
|
121
|
+
_readPreloadedRelationships(preloaded: {
|
|
122
|
+
getModel: (relationshipType: string, relationshipId: number | string) => BaseModel;
|
|
123
|
+
}): void;
|
|
104
124
|
primaryKey(): number | string;
|
|
105
125
|
};
|
|
106
126
|
readonly name: any;
|
|
@@ -114,7 +134,9 @@ export default class ApiMakerModelRecipesModelLoader {
|
|
|
114
134
|
throwValidationError?: boolean;
|
|
115
135
|
}): void;
|
|
116
136
|
find<T extends typeof BaseModel>(this: T, id: number | string): Promise<InstanceType<T>>;
|
|
117
|
-
findOrCreateBy<T extends typeof BaseModel>(this: T, findOrCreateByArgs: Record<string, any>, args?: {
|
|
137
|
+
findOrCreateBy<T extends typeof BaseModel>(this: T, findOrCreateByArgs: Record<string, any>, args?: {
|
|
138
|
+
additionalData?: Record<string, any>;
|
|
139
|
+
}): Promise<InstanceType<T>>;
|
|
118
140
|
modelName(): import("./model-name.js").default;
|
|
119
141
|
primaryKey(): string;
|
|
120
142
|
ransack<MC extends typeof BaseModel>(this: MC, query?: Record<string, any>): import("./collection.js").default<MC>;
|
|
@@ -131,21 +153,29 @@ export default class ApiMakerModelRecipesModelLoader {
|
|
|
131
153
|
model?: BaseModel;
|
|
132
154
|
options: ParseValidationErrorsOptions;
|
|
133
155
|
}): void;
|
|
134
|
-
humanAttributeName(attributeName:
|
|
156
|
+
humanAttributeName(attributeName: string): string;
|
|
135
157
|
snakeCase(string: string): string;
|
|
136
158
|
_objectDataFromGivenRawData(rawData: FormData | Record<string, any>, options: object): Record<string, any>;
|
|
137
|
-
_callCollectionCommand(args:
|
|
138
|
-
|
|
159
|
+
_callCollectionCommand(args: {
|
|
160
|
+
args: any;
|
|
161
|
+
}, commandArgs: Record<string, any>): Promise<object>;
|
|
162
|
+
_postDataFromArgs(args?: FormData | Record<string, any>): FormData;
|
|
139
163
|
};
|
|
164
|
+
/** addAttributeMethodsToModelClass. */
|
|
140
165
|
addAttributeMethodsToModelClass(ModelClass: any, attributes: any): void;
|
|
166
|
+
/** addQueryCommandsToModelClass. */
|
|
141
167
|
addQueryCommandsToModelClass(ModelClass: any, collectionCommands: any): void;
|
|
168
|
+
/** addMemberCommandsToModelClass. */
|
|
142
169
|
addMemberCommandsToModelClass(ModelClass: any, memberCommands: any): void;
|
|
170
|
+
/** addRelationshipsToModelClass. */
|
|
143
171
|
addRelationshipsToModelClass(ModelClass: any, modelClassData: any, relationships: any): void;
|
|
172
|
+
/** defineBelongsToGetMethod. */
|
|
144
173
|
defineBelongsToGetMethod({ ModelClass, modelMethodName, relationshipName }: {
|
|
145
174
|
ModelClass: any;
|
|
146
175
|
modelMethodName: any;
|
|
147
176
|
relationshipName: any;
|
|
148
177
|
}): void;
|
|
178
|
+
/** defineBelongsToLoadMethod. */
|
|
149
179
|
defineBelongsToLoadMethod({ foreignKey, klassPrimaryKey, ModelClass, modelRecipesLoader, loadMethodName, optionsPrimaryKey, relationshipName, resourceName }: {
|
|
150
180
|
foreignKey: any;
|
|
151
181
|
klassPrimaryKey: any;
|
|
@@ -169,6 +199,7 @@ export default class ApiMakerModelRecipesModelLoader {
|
|
|
169
199
|
relationshipName: any;
|
|
170
200
|
resourceName: any;
|
|
171
201
|
}): void;
|
|
202
|
+
/** defineHasManyLoadMethod. */
|
|
172
203
|
defineHasManyLoadMethod({ foreignKey, loadMethodName, ModelClass, modelClassData, modelRecipesLoader, optionsThrough, relationshipName, resourceName }: {
|
|
173
204
|
foreignKey: any;
|
|
174
205
|
loadMethodName: any;
|
|
@@ -179,6 +210,7 @@ export default class ApiMakerModelRecipesModelLoader {
|
|
|
179
210
|
relationshipName: any;
|
|
180
211
|
resourceName: any;
|
|
181
212
|
}): void;
|
|
213
|
+
/** defineHasOneGetMethd. */
|
|
182
214
|
defineHasOneGetMethd({ ModelClass, modelMethodName, relationshipName }: {
|
|
183
215
|
ModelClass: any;
|
|
184
216
|
modelMethodName: any;
|
|
@@ -196,6 +228,6 @@ export default class ApiMakerModelRecipesModelLoader {
|
|
|
196
228
|
resourceName: any;
|
|
197
229
|
}): void;
|
|
198
230
|
}
|
|
199
|
-
import BaseModel from "./base-model.js";
|
|
200
231
|
import Collection from "./collection.js";
|
|
232
|
+
import BaseModel from "./base-model.js";
|
|
201
233
|
//# sourceMappingURL=model-recipes-model-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-recipes-model-loader.d.ts","sourceRoot":"/src/","sources":["model-recipes-model-loader.js"],"names":[],"mappings":"AAKA;IACE;;;OAKC;IAFC,wBAA4C;IAC5C,iBAA8B;IAGhC
|
|
1
|
+
{"version":3,"file":"model-recipes-model-loader.d.ts","sourceRoot":"/src/","sources":["model-recipes-model-loader.js"],"names":[],"mappings":"AAKA,4DAA4D;AAC5D;IACE,mBAAmB;IACnB;;;OAKC;IAFC,wBAA4C;IAC5C,iBAA8B;IAGhC,mBAAmB;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAuWkmV,CAAC;;;;;;;;wBAA2iB,CAAC;;;;;iCAAypE,CAAC;;;;;;;;;;;;;;;;;iCAAm+G,yBAAI,EAAC,gCAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA5S3vhB,mEAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAzBjD;IAED,uCAAuC;IACvC,wEAiBC;IAED,oCAAoC;IACpC,6EAgBC;IAED,qCAAqC;IACrC,0EAiBC;IAED,oCAAoC;IACpC,6FAkFC;IAED,gCAAgC;IAChC;;;;aAIC;IAED,iCAAiC;IACjC;;;;;;;;;aAkBC;IAED;;;;;;;;;;;;aAyDC;IAED,+BAA+B;IAC/B;;;;;;;;;aAuCC;IAED,4BAA4B;IAC5B;;;;aAIC;IAED;;;;;;;;;;aAyCC;CACF;uBAnXsB,iBAAiB;sBADlB,iBAAiB"}
|