summaryrefslogtreecommitdiff
path: root/ignite/templates/model/NAME.ts.ejs
diff options
context:
space:
mode:
authorThomas F. K. Jorna <[email protected]>2021-07-14 15:10:31 +0200
committerThomas F. K. Jorna <[email protected]>2021-07-14 15:10:31 +0200
commite5021187e96b78b53203bd95d08d6818aea47d17 (patch)
tree37ec45d00eb963db53cd4bb4f04a770414b351cc /ignite/templates/model/NAME.ts.ejs
New Ignite 7.0.6 app
Diffstat (limited to 'ignite/templates/model/NAME.ts.ejs')
-rw-r--r--ignite/templates/model/NAME.ts.ejs16
1 files changed, 16 insertions, 0 deletions
diff --git a/ignite/templates/model/NAME.ts.ejs b/ignite/templates/model/NAME.ts.ejs
new file mode 100644
index 0000000..2c9c9c8
--- /dev/null
+++ b/ignite/templates/model/NAME.ts.ejs
@@ -0,0 +1,16 @@
+import { Instance, SnapshotOut, types } from "mobx-state-tree"
+
+/**
+ * Model description here for TypeScript hints.
+ */
+export const <%= props.pascalCaseName %>Model = types
+ .model("<%= props.pascalCaseName %>")
+ .props({})
+ .views((self) => ({})) // eslint-disable-line @typescript-eslint/no-unused-vars
+ .actions((self) => ({})) // eslint-disable-line @typescript-eslint/no-unused-vars
+
+type <%= props.pascalCaseName %>Type = Instance<typeof <%= props.pascalCaseName %>Model>
+export interface <%= props.pascalCaseName %> extends <%= props.pascalCaseName %>Type {}
+type <%= props.pascalCaseName %>SnapshotType = SnapshotOut<typeof <%= props.pascalCaseName %>Model>
+export interface <%= props.pascalCaseName %>Snapshot extends <%= props.pascalCaseName %>SnapshotType {}
+export const create<%= props.pascalCaseName %>DefaultModel = () => types.optional(<%= props.pascalCaseName %>Model, {})