|
- /**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- *
- * @legacyServerCallableInstance
- * @format
- * @flow
- * @emails oncall+draft_js
- */
- 'use strict';
-
- import type { DraftEntityMutability } from "./DraftEntityMutability";
- import type { DraftEntityType } from "./DraftEntityType";
-
- const Immutable = require("immutable");
-
- const {
- Record
- } = Immutable;
- const DraftEntityInstanceRecord = (Record({
- type: 'TOKEN',
- mutability: 'IMMUTABLE',
- data: Object
- }): any);
- /**
- * An instance of a document entity, consisting of a `type` and relevant
- * `data`, metadata about the entity.
- *
- * For instance, a "link" entity might provide a URI, and a "mention"
- * entity might provide the mentioned user's ID. These pieces of data
- * may be used when rendering the entity as part of a ContentBlock DOM
- * representation. For a link, the data would be used as an href for
- * the rendered anchor. For a mention, the ID could be used to retrieve
- * a hovercard.
- */
-
- class DraftEntityInstance extends DraftEntityInstanceRecord {
- getType(): DraftEntityType {
- return this.get('type');
- }
-
- getMutability(): DraftEntityMutability {
- return this.get('mutability');
- }
-
- getData(): Object {
- return this.get('data');
- }
-
- }
-
- module.exports = DraftEntityInstance;
|